[英]How to convert Multi-Dimensional Associative array in to Numeric Array in php, without looping?
我创建了一个工作函数,用于将以下关联数组拆分为两个数字数组。 我想知道是否有更好的方法,避免循环。
我有一个数组如下。
Array ( [0] => stdClass Object ( [CreatedAt] => 16/02/2014 [Occurrence] => 1 ) [1] => stdClass Object ( [CreatedAt] => 17/02/2014 [Occurrence] => 8 ) [2] => stdClass Object ( [CreatedAt] => 18/02/2014 [Occurrence] => 4 ) [3] => stdClass Object ( [CreatedAt] => 20/02/2014 [Occurrence] => 11 ) )
需要将其转换为两个数值数组
Array ( [0] => 16/02/2014 [1] => 17/02/2014 [2] => 18/02/2014 [3] => 20/02/2014 ) Array ( [0] => 1 [1] => 8 [2] => 4 [3] => 11 )
我用了一个foreach
循环
$array1 = array(); $array2 = array(); foreach ($mainArray as $key => $value) { $array1[] = $value->CreatedAt; $array2[] = $value->Occurrence; } print_r($array1); print_r($array2);
但是,如果我在mainArray中有1000行,它将影响性能。 如果您有更好的解决方案,请让我们都知道。
试试这个:
$objName = (object) array('aFlat' => array());
array_walk_recursive($array, create_function('&$v, $k, &$t', '$t->aFlat[] = $v;'), $objName);
var_dump($objName->aFlat);
http://in1.php.net/array_column
也许这可以解决您的问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.