php5.5新数组函数array-column使用实例

导语:PHP5.5发布了,其中增加了一个新的数组函数array_column。下面的.是本站小编为大家搜集的php5.5新数组函数array_column使用实例,希望对你有所帮助。

php5.5新数组函数array-column使用实例

  复制代码 代码如下:

if(!function_exists('array_column')){

function array_column($input, $columnKey, $indexKey=null){

$columnKeyIsNumber = (is_numeric($columnKey)) ? true : false;

$indexKeyIsNull = (is_null($indexKey)) ? true : false;

$indexKeyIsNumber = (is_numeric($indexKey)) ? true : false;

$result = array();

foreach((array)$input as $key=>$row){

if($columnKeyIsNumber){

$tmp = array_slice($row, $columnKey, 1);

$tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : null;

}else{

$tmp = isset($row[$columnKey]) ? $row[$columnKey] : null;

}

if(!$indexKeyIsNull){

if($indexKeyIsNumber){

$key = array_slice($row, $indexKey, 1);

$key = (is_array($key) && !empty($key)) ? current($key) : null;

$key = is_null($key) ? 0 : $key;

}else{

$key = isset($row[$indexKey]) ? $row[$indexKey] : 0;

}

}

$result[$key] = $tmp;

}

return $result;

}

}

// 使用例子

$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);

/*

Array

(

[0] => John

[1] => Sally

[2] => Jane

[3] => Peter

)

*/

$records = array(

array(1, 'John', 'Doe'),

array(2, 'Sally', 'Smith'),

array(3, 'Jane', 'Jones')

);