需求:我在数据库中查询的时候,为了少写方法,就尽量共用方法,但是部分情况是返回了大量冗余的数据,我需要一滴水,你却给我了整片海。
例如:
<?php // 表示由数据库返回的可能记录集的数组 $a = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Jobs', ) array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ) ); $last_names = array_column($a, 'last_name'); print_r($last_names); ?>
而我需要的输出可能只是这样的,只需要获取 ‘last_name’ 字段
Array ( [0] => Gates [1] => Jobs [2] => Zuckerberg )
array_column() 返回输入数组中某个单一列的值。
语法
array_column(array,column_key,index_key);
参数 | 描述 |
---|---|
array | 必需。规定要使用的多维数组(记录集)。 |
column_key |
必需。需要返回值的列。 可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。 该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 |
index_key | 可选。用作返回数组的索引/键的列。 |
方法二:也可以新建一个临时数组,将需要的字段获取到
$temp = []; foreach ($ret as $key => $value) { $temp[$key] = $value['last_name']; }
更多将二维数组转换为一维数组的情况:http://www.jb51.net/article/50410.htm