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

正如亚当指出的那样, ArrayAppend 需要在循环内。您还需要在对 ArrayAppend 的调用中删除“收件人”周围的引号,否则您将拥有一个字符串“收件人”的数组。

于 2012-10-26T09:03:57.837 回答
1

arrayAppend()需要循环内,否则您只是在循环完成后附加最后一个结果。

于 2012-10-26T09:02:20.430 回答