【问题标题】:Php concatenation re-initialize my variablephp连接重新初始化我的变量
【发布时间】:2012-11-03 23:18:08
【问题描述】:

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

【问题讨论】:

标签: php concatenation scope


【解决方案1】:

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

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

你也可以使用implode

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多