打印由空格分隔的值

时间:2016-10-01 09:28:03

标签: php

我有一个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

1 个答案:

答案 0 :(得分:4)

如果$variable是包含属性IdName的对象数组,那么您可以这样打印:

$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加入。