array_map()与array_shift()搭配使用 PK array_column()函数

array_map()与arra_shift()搭配使用,还是来看例子吧,比较直观一点

 1 <?php
 2     $user = array( 
 3         0 => array( 
 4         'name' => '张三', 
 5         'id' => 1, 
 6         'email' => 'zhangsan@sina.com', 
 7         ), 
 8         7 => array( 
 9         'name' => '李四', 
10         'id' => 2, 
11         'email' => 'lisi@163.com', 
12         ), 
13         9 => array( 
14         'name' => '王五', 
15         'id' => 5, 
16         'email' => '10000@qq.com', 
17         )
18     );
19     $ids = array(); 
20     $ids = array_map('array_shift', $user);
21     echo "<pre>";  
22     print_r($ids);
23     echo "</pre>";
View Code

实现效果:

 

接下来我们看一个更加强大的函数:array_column()

array_column — 返回数组中指定的一列   (PHP 5 >= 5.5.0)PHP的版本必须是5.5.0或者以上

 

说明:

array array_column ( array $input , mixed $column_key [, mixed $index_key ] )

array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。

 

参数:

input:
需要取出数组列的多维数组(或结果集)

column_key:
需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)

index_key:
作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。

返回值

从多维数组中返回单列数组。

来看例子:

 1 <?php
 2 $records = array(
 3     array(
 4         'id' => 2135,
 5         'first_name' => 'John',
 6         'last_name' => 'Doe',
 7     ),
 8     array(
 9         'id' => 3245,
10         'first_name' => 'Sally',
11         'last_name' => 'Smith',
12     ),
13     array(
14         'id' => 5342,
15         'first_name' => 'Jane',
16         'last_name' => 'Jones',
17     ),
18     array(
19         'id' => 5623,
20         'first_name' => 'Peter',
21         'last_name' => 'Doe',
22     )
23 );
24 $first_names = array_column($records, 'first_name');
25     echo "<pre>";  
26         print_r($first_names);
27     echo "</pre>";
View Code

结果为:

Example #2 从结果集中总取出last names列,用相应的id作为键值

1 <?php
2 // Using the $records array from Example #1
3 $last_names = array_column($records, 'last_name', 'id');
4 print_r($last_names);
5 ?>
View Code

结果为:

 

posted @ 2015-08-14 14:55  Seekload  阅读(884)  评论(0编辑  收藏  举报