1

谁能告诉我如何将这行 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>
4

1 回答 1

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 表示法非常相似。

如果您使用的是旧版本的冷融合,则需要执行以下操作:

对于结构数组:

<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>

或者

对于字符串数组:

<cfset headers = arrayNew(1)>
<cfset headers[1] = "X-BONANZLE-API-DEV-NAME:" & dev_name>
<cfset headers[2] = "X-BONANZLE-API-CERT-NAME:" & cert_name>
于 2014-06-10T03:58:18.173 回答