切片在其元件中的一个多维PHP数组 [英] Slicing a multi-dimensional PHP array across one of its elements
本文介绍了切片在其元件中的一个多维PHP数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说,例如,你只是一个查询数据库,你收到这个二维数组。
$结果=阵列(
阵列('ID'=大于1,'名'=>'红','旋转'=> 1)
阵列('ID'=大于2,'名'=>'绿色','旋转'= -1个)
阵列('ID'= GT; 3,'名'=>'蓝','旋转'= GT; .5)
);
我经常发现自己写的循环是这样的。
的foreach($结果$结果)
$名称[] = $结果[名称];
我的问题是确实存在一种方式来获得这个数组$名称,而不使用循环?使用回调函数算作使用循环。
下面是让每一个领域更宽泛的例子。
的foreach($结果$结果)
的foreach($结果为$关键=> $值)
$域[$关键] [] = $价值;
解决方案
截至6月20日在PHP-5.5有一个新的功能, array_column
例如:
$记录=阵列(
阵列(
'ID'=> 2135,
'FIRST_NAME'=> 约翰,
'姓氏'=> 母鹿
)
阵列(
'ID'=> 3245,
'FIRST_NAME'=> 莎莉,
'姓氏'=> 史密斯
)
阵列(
'ID'=> 5342,
'FIRST_NAME'=> 简,
'姓氏'=> 琼斯
)
阵列(
'ID'=> 5623,
'FIRST_NAME'=> 彼得,
'姓氏'=> 母鹿
)
);
$ firstNames = array_column($记录,'FIRST_NAME');
的print_r($ firstNames);
将返回
阵列
(
[0] =>约翰
[1] =>出击
[2] =>简
[3] =>彼得
)
有在上述链路甚至更多的例子。
Say for example you just queried a database and you recieved this 2D array.
$results = array(
array('id' => 1, 'name' => 'red' , 'spin' => 1),
array('id' => 2, 'name' => 'green', 'spin' => -1),
array('id' => 3, 'name' => 'blue' , 'spin' => .5)
);
I often find myself writing loops like this.
foreach($results as $result)
$names[] = $result['name'];
My questions is does there exist a way to get this array $names without using a loop? Using callback functions count as using a loop.
Here is a more generic example of getting every field.
foreach($results as $result)
foreach($result as $key => $value)
$fields[$key][] = $value;
解决方案
As of June 20th in PHP-5.5 there is a new function array_column
For example:
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe'
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith'
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones'
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe'
)
);
$firstNames = array_column($records, 'first_name');
print_r($firstNames);
Will return
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
There are even more examples in the above mentioned link.
这篇关于切片在其元件中的一个多维PHP数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文