Php 如何在ColdFusion中创建数组

Php 如何在ColdFusion中创建数组,php,coldfusion,cfml,coldfusion-7,Php,Coldfusion,Cfml,Coldfusion 7,谁能告诉我如何将这行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_na

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

您需要引用与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 ]>
<cfset headers = arrayNew(1)>
<cfset headers[1] = "X-BONANZLE-API-DEV-NAME:" & dev_name>
<cfset headers[2] = "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>

对于字符串数组:

<cfset headers = [ "X-BONANZLE-API-DEV-NAME:" & dev_name
                   ,"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>


是否只有部分功能只能在版本8及以上版本中运行?因为我在第7版中尝试过,会弹出一个错误。当我不在iphone和合适的机器上时,我将向您发布一个示例。好的,慢慢来..谢谢我用旧版本coldfusion的示例更新了我的答案。不确定您是否意识到,但如果许可成本阻碍您升级,则值得考虑将开源Railo服务器作为升级选项。CFML7非常古老。是的,我注意到了。谢谢你帮助谢尔泽先生