Php连接重新初始化我的变量

时间:2012-11-03 23:18:09

标签: php concatenation scope

我有两个foreach循环,一个给$value1其他赋予$value2。  我在顶部定义了一个字符串变量$values

foreach(...)// get $value1 here
{
   if(strlen($values) > 0)
   $values .=",('".$value1."','')";
   else
   $values .="('".$value1."','')";
}
foreach(...) // get $value2 here
{
   if(strlen($values) > 0)
   $values .=",('','".$value2."')";
   else
   $values .="('','".$value2."')";
}

$values变量重新启动。

我从每个循环得到两个结果,但我想要一个结果,我想将所有这些值连接到一个变量$values。我做错了什么?

2 个答案:

答案 0 :(得分:0)

实际上,如果在$values之前未定义foreach,则它是一个局部变量。在$values = '';阻止之前foreach将使您的生活更轻松。

$values = '';
foreach(...) {
   if(strlen($values) > 0) {
     $values .=",('".$value1."','')";
   } else {
     $values .="('".$value1."','')";
   }
}

您也可以使用implode

答案 1 :(得分:0)

确保在2 globally个循环之前启动$ foreach $。

$values = ''; 
foreach(..){

}