我遇到了以下问题:
我从客户端处理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
我怎么能这样做?
答案 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));