0

ループの結果を配列に追加しようとしています。

これが私のコードです:

  <cfset mobNumbers = ArrayNew(1)>

<cfloop query = "staffLoop">
    <cfscript>

      mobileNo = staffLoop.mobileno;
      mobileNo = mobileNo.replaceAll("[^0-9]", "");
      ext = staffLoop.extension;
      ext = ext.replaceAll("[^0-9]", "");

      if (Left(mobileNo, 2) == "07" || Left(mobileNo, 3) == "447") {
        recipient = mobileNo;
      } else if (Left(ext, 2) == "07" || Left(ext, 3) == "447") {
        recipient = ext;
      } else {
        recipient = "";
      }

      if (Left(recipient, 2) == "07") {
        recipient = "447" & Right(recipient, Len(recipient) - 2);
      }

      if (Len(recipient) == 12) {

       [send text code]

      }
    </cfscript>
  </cfloop>
<cfset ArrayAppend(mobNumbers, "recipient")>

目標は、すべての携帯電話番号の配列を取得することです。

私のコードは機能していません、そして私はいくつかの調査の後で、私は何をすべきかわかりません。何か案は?

可能であれば、ソリューションに非cfscriptを使用したいのですが、cfscriptを使用する方が簡単な場合は、それで問題ありません。

4

2 に答える 2

4

Adamが指摘しているように、ArrayAppendはループ内にある必要があります。また、ArrayAppendの呼び出しで「受信者」を囲む引用符を削除する必要があります。それ以外の場合は、文字列「受信者」の配列があります。

于 2012-10-26T09:03:57.837 に答える
1

ループarrayAppend()にいる必要があります。そうでない場合は、ループが終了した後に最後の結果を追加するだけです。

于 2012-10-26T09:02:20.430 に答える