0

我有两个 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。我做错了什么?

4

2 回答 2

0

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

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

} 
于 2012-11-03T23:53:37.883 回答
0

实际上 if在它是一个局部变量$values之前没有定义。before blocks 会让你的生活更轻松。foreach$values = '';foreach

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

你也可以使用implode

于 2012-11-03T23:23:54.040 回答