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);