php foreach作为$var';未定义变量';
未定义的变量是php foreach作为$var';未定义变量';,php,foreach,undefined,Php,Foreach,Undefined,未定义的变量是$new\u string 我写这个小剧本是因为我需要它(不要问为什么) 我知道我可以在开始时简单地说,$new\u string=NULL,以避免未定义的变量,但这无助于我理解为什么它没有定义 用外行的话说,$r等于数组中每对的值 当$new\u string等于$r时,如何定义它 foreach($reverse as $r) { $new_string .= $r; } $new\u字符串=$r表示$new\u string=$new\u stri
$new\u string
我写这个小剧本是因为我需要它(不要问为什么)
我知道我可以在开始时简单地说,$new\u string=NULL
,以避免未定义的变量,但这无助于我理解为什么它没有定义
用外行的话说,$r
等于数组中每对的值
当$new\u string
等于$r
时,如何定义它
foreach($reverse as $r) {
$new_string .= $r;
}
$new\u字符串=$r代码>表示$new\u string=$new\u string$r
这里您将$r
附加到变量$new\u string
的值,该变量未在此代码之前声明或定义,即不存在。您可以通过声明上述foreach
变量来解决此问题,如:
$new_string="";
foreach($reverse as $r) {
$new_string .= $r;
}
程序的输出中没有错误:-
它为$new_字符串提供了正确的输出。OP正在寻找解决方案,其中$new_字符串不需要事先初始化
解决方案是使用PHP的函数
$new_string = implode($reverse);
//another usage with glue parameter:
//$new_string = implode('', $reverse);
我理解。非常感谢。我假设第一个循环被认为是相等的,下面的循环是附加的。我的假设是错误的。@abhinsit抱歉,我忘了提到代码按计划工作。我一直在用它。我打开了错误日志,看到页面上满是未定义的变量通知,我没想到会找到这些通知。当然,当禁止错误报告时,通知不会显示,但问题仍然存在。很好。非常感谢。虽然我不知道它的名字,但当我偶然发现可以使用(=$r)组合成对的输出时,内爆是我实际上在寻找的函数。
$new_string = implode($reverse);
//another usage with glue parameter:
//$new_string = implode('', $reverse);