如何重新排列多维数组? [英] How to reorder a multidimensional array?
本文介绍了如何重新排列多维数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有以下数组:
Array
(
[0] => Array
(
[0] => 1200
[1] => 2541
[2] => 2540
[3] => 2539
)
[1] => Array
(
[0] => Television
[1] => Monitor
[2] => Car
[3] => Bike
)
[2] => Array
(
[0] => Electrodomestic
[1] => Computer Stuff
[2] => Vehicle
[3] => Vehicle
)
)
我想单独安排它,例如:
And I would like to arrange it individually, like this:
Array
(
[0] => Array
(
[0] => 1200
[1] => Television
[2] => Electrodomestic
)
[1] => Array
(
[0] => 2541
[1] => Monitor
[2] => Computer Stuff
)
[2] => Array
(
[0] => 2540
[1] => Car
[2] => Vehicle
)
[3] => Array
(
[0] => 2539
[1] => Bike
[2] => Vehicle
)
)
我该怎么做?
I希望将我的简单数组(从我从REGEX提取的数据中)整理到包含我的各个对象的数组中。
I would like to reoder my simple array (from data I extracted from a REGEX) into an array containing my individual "objects".
推荐答案
无事可做,所以这里有一个可能的解决方案:
Have nothing to do, so here's a possible solution:
$a = Array
(
'0' => Array
(
'0' => 1200,
'1' => 2541,
'2' => 2540,
'3' => 2539,
),
'1' => Array
(
'0' => 'Television',
'1' => 'Monitor',
'2' => 'Car',
'3' => 'Bike',
),
'2' => Array
(
'0' => 'Electrodomestic',
'1' => 'Computer Stuff',
'2' => 'Vehicle',
'3' => 'Vehicle',
)
);
// take a size of every subarray
$t = sizeof($a[0]);
// do a loop
$new_a = [];
for($i =0; $i < $t; $i ++) {
// `array_column` extracts every value
// with key `$i` from each element of
// `$a` array and adds these values
// to a new array
$new_a[] = array_column($a, $i);
}
echo'<pre>',print_r($new_a),'</pre>';
警告: array_column
在 php5.5
中引入。
这篇关于如何重新排列多维数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文