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 表記に非常に似ています。

古いバージョンの 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 = 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 に答える