我正在尝试将循环结果添加到数组中。
这是我的代码:
<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更容易,那很好。
答案 0 :(得分:4)
正如Adam指出的那样,ArrayAppend需要在循环中。您还需要在调用ArrayAppend时删除“收件人”周围的引号,否则您将拥有String“收件人”的数组。
答案 1 :(得分:1)
你的arrayAppend()
需要在循环中,否则你只是在循环结束后附加最后一个结果。