2014-06-10 92 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

好吧,你需要時間..謝謝 –