我有一个foreach
循环,它打印两个变量的值:
$Var1 = '';
$Var2 = '';
foreach($variable as $key => $value)
{
$Var1 .= $value->Id;
$Var2 .= $value->Name;
}
echo $Var1;
echo $Var2;
如果循环运行3次,结果为:
Var1_value_1 Var1_value_2 Var1_value_3
Var2_value_1 Var2_value_2 Var2_value_3
但我想要以下内容:
Var1_value_1 Var2_value_1 Var1_value_2 Var2_value_2 Var1_value_3 Var2_value_3
答案 0 :(得分:4)
如果$variable
是包含属性Id
和Name
的对象数组,那么您可以这样打印:
$a = [];
foreach ($variable as $key => $value) {
$a [] = $value->Id . ' ' . $value->Name;
}
echo implode(' ', $a);
我们只需将字符串push连接到$a
数组中,然后使用implode
构建最终字符串。
甚至这样:
echo implode(' ', array_map(function ($v) {
return $v->Id . ' ' . $v->Name;
}, $variable));
array_map
为每个数组项($v
)应用回调。回调返回修改的项目,连接的结果。最后,新数组的项目由implode
加入。