让我们建议我有一个像这样的三维数组:
$cars[0][0][1] = "BMW";
$cars[0][0][2] = "MUSTANG";
$cars[0][1][0] = "FORD";
$cars[0][1][1] = "GOLF";
$cars[1][0][0] = "MITSUBISHI";
$cars[1][0][1] = "PORSCHE";
我想在一维数组中得到最后一个维度的所有结果:
$cars[0] = "BMW";
$cars[1] = "MUSTANG";
$cars[2] = "FORD";
$cars[3] = "GOLF";
$cars[4] = "MITSUBISHI";
$cars[5] = "PORSCHE";
是否有某种功能或快速方法可以像这样打破数组,或者我是否需要构建for的构造,并且foreach循环确实意识到了这一点?
非常感谢你!
答案 0 :(得分:2)
以下是您的一个班轮,以递归方式遍历$cars
数组并将值存储在$result
中。
array_walk_recursive($cars,function($v, $k) use (&$result){ $result[] = $v; });
答案 1 :(得分:1)
如果你想平整数组以便你可以轻松地迭代它,你可以隐藏它是一个使用SPL的多级数组的事实:
$carsIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator($cars)
);
foreach($carsIterator as $car) {
echo $car, PHP_EOL;
}