2014-06-10 53 views
1

谁能告诉我如何将这一行PHP转换为ColdFusion?如何在ColdFusion中创建数组

$dev_name = "xxx"; 
$cert_name = "yyy"; 
$url = "https://xxxx.com/"; 
$headers = array("X-BONANZLE-API-DEV-NAME: " . $dev_name 
        , "X-BONANZLE-API-CERT-NAME: " . $cert_name); 

这是一个数组。我已经尝试过,但失败了。

<cfset dev_name="xxx"> 
<cfset cert_name ="yyy"> 
<cfset headers = {X-BONANZLE-API-DEV-NAME:"#dev_name#" 
        , X-BONANZLE-API-CERT-NAME:"#cert_name#"}> 

<cfdump var="#headers#"> 

</cfdump> 

回答

2

您需要引用与您在PHP版本中一样的密钥名称。

您遇到的问题是您的密钥名称包含“减号”字符。要解决此问题,您需要引用您的键名。

同样在你的示例CFML代码中,你将最终创建一个结构,它在我看来你想要的是一个结构数组。

所以这样的事情应该得到你想要的东西:

<cfset headers = [ {"X-BONANZLE-API-DEV-NAME":"#dev_name#"} 
        , {"X-BONANZLE-API-CERT-NAME":"#cert_name#"} ]> 

,或者如果你只是想要一个字符串数组:

<cfset headers = [ "X-BONANZLE-API-DEV-NAME:" & dev_name 
        ,"X-BONANZLE-API-CERT-NAME:" & cert_name ]> 

注:括号这表明你想要的数组和花括号表明你想要一个结构体。这与JSON表示法非常相似。

如果你是在一个旧版本的ColdFusion你需要做这样的事情:

对于阵列结构的:

<cfset headers = arrayNew(1)> 
<cfset headers[1] = structNew()> 
<cfset headers[1]["X-BONANZLE-API-DEV-NAME"] = dev_name> 
<cfset headers[2] = structNew()> 
<cfset headers[2]["X-BONANZLE-API-CERT-NAME"] = cert_name> 

OR

对于字符串数组:

<cfset headers = arrayNew(1)> 
<cfset headers[1] = "X-BONANZLE-API-DEV-NAME:" & dev_name> 
<cfset headers[2] = "X-BONANZLE-API-CERT-NAME:" & cert_name> 
+1

是只有部分功能只能运行在版本8以上?因为我已经在版本7中尝试过会弹出一个错误。 –

+0

当我不在我的iphone和适当的机器上时,我会发布一个例子。 –

+0

好吧,你需要时间..谢谢 –