迭代数组和echo字符串中的数组

时间:2015-05-11 08:14:26

标签: php arrays multidimensional-array foreach

我遇到了以下问题:

我从客户端处理3个数组。它们总是具有随机长度,但是它们的长度彼此相等。然后我使用$ summary_array来收集所有数据并迭代。

示例:

$country = (1,2,3);
$city = (4,5,6);
$sightseen = (7,8,9);

$summary_array = ($country, $city, $sightseen);

OR

$country = (1,2,3,4);
$city = (1,3,4,5);
$sightseen = (5,2,9,4);

$summary_array = ($country, $city, $sightseen);

现在我需要遍历这些数组:

foreach($summary_array as $value) {
    //...
}

我需要输入输出:

1 : 1 2 3
2 : 4 5 6
3 : 7 8 9

OR

1 : 1 2 3 4
2 : 1 3 4 5
3 : 5 2 9 4

我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

除了你在每个数组声明中都错过了关键字array之外,你可以在每次迭代中简单地implode()像这样:{/ p>

foreach($summary_array as $k => $value) {
    echo ($k+1) . " : " . implode(" ", $value) . "<br>";
}

输出:

1 : 1 2 3  //1 : 1 2 3 4
2 : 4 5 6  //2 : 1 3 4 5
3 : 7 8 9  //3 : 5 2 9 4

修改

要旋转数组,只需在foreach循环之前使用它:

$summary_array = call_user_func_array("array_map", array(NULL, $country, $city, $sightseen));