コード:
<cfset LOCAL.temp = 'something==a descript >= ive value' />
<cfdump var="#ListToArray(LOCAL.temp, '==')#" />
私が期待しているのは、2つのインデックスを持つ配列であり、3つのインデックスを持つ配列であり、CFも単一の等号で分割されています。
他の誰かがこの行動を経験していますか、または何が起こっているのか説明できますか?
コード:
<cfset LOCAL.temp = 'something==a descript >= ive value' />
<cfdump var="#ListToArray(LOCAL.temp, '==')#" />
私が期待しているのは、2つのインデックスを持つ配列であり、3つのインデックスを持つ配列であり、CFも単一の等号で分割されています。
他の誰かがこの行動を経験していますか、または何が起こっているのか説明できますか?
これは予想される動作です。ドキュメントで説明されているように、ListToArrayは1文字の区切り文字を使用します(デフォルト)。
1つの解決策は、splitを使用することです。
Temp.split('==')
(これは、基になるJava string.splitメソッドを利用しています。このメソッドは、指定された正規表現の一致ごとに文字列を分割し、すべてのJavaベースのCFMLエンジンで機能しますが、Java文字列配列を生成します。これは直接操作できません。 CFのArrayAppendおよび関連する関数を使用します。ただし、最初に変換された場合を除きます。)
CF9を使用しているため、4番目の引数をtrueに設定することにより、新しい複数文字の区切り文字フラグを使用することもできます。
ListToArray(Temp,'==',false,true)