我有此数组:爆炸阵列的数据,并做出新的阵列
Array
(
[0] => Array
(
[0] => 1
[1] => a,b,c
)
[1] => Array
(
[0] => 5
[1] => d,e,f
)
)
我想最终的数组是这样的:
Array
(
[0] => Array
(
[0] => 1
[1] => a
)
[1] => Array
(
[0] => 1
[1] => b
)
[2] => Array
(
[0] => 1
[1] => c
)
[3] => Array
(
[0] => 5
[1] => d
)
[4] => Array
(
[0] => 5
[1] => e
)
[5] => Array
(
[0] => 5
[1] => f
)
)
这是我做过什么:
<?php
$array = array(array(1,"a,b,c"),array(5,"d,e,f"));
$temp=array();
$count = 0;
foreach($array as $arr){
$rows = explode(",",$arr[1]);
foreach($rows as $row){
$temp[$count] = $arr;
$temp[$count][1] = $row;
$count++;
}
}
print_r($temp);
?>
这完全有效,但我想知道是否有更好的方法来做到这一点。当我有大量数据时,这可能会非常缓慢。
使用循环通常将是最快的方式。通常缓慢是由低效循环引起的,但在这里并不是这种情况。您的数据集必须是真正的MASSIVE,因为这会对脚本的执行时间产生重大影响。 – Scopey
你是说这是做到这一点的最好方法吗? – Prakash
是的。循环通常总是最快的方式。使用像'array_map'这样的回调函数(不是这样可以工作)会更慢。 – Scopey