以下代码......
$msgArr = split("\n", $message);
$newMsg = "";
foreach ($msgArr as $msg){
if (trim(end(split(":", $msg))) != '')
$newMsg .= $msg . "\r\n";
}
似乎生成错误:严格标准:在第1033行的/home/siteurl/public_html/questionnaire/full_questionnaire_submitted.php中,只能通过引用传递变量
为什么会这样?
非常感谢提前。
答案 0 :(得分:2)
遵循严格的标准,您应该只将变量传递给end()
而不是直接传递函数返回值。这是因为end()
通过引用消耗了它的参数。 (查看@ NiettheDarkAbsol的好解释)
这一行:
if (trim(end(split(":", $msg))) != '')
应该是:
$pieces = split(":", $msg);
if (trim(end($pieces)) !== '')
答案 1 :(得分:1)
结束函数将您传递的数组的光标作为参数移动,在您传递分割返回的情况下,不能通过引用传递。
答案 2 :(得分:1)