有谁能告诉我如何将这一行PHP转换为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>
答案 0 :(得分: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>