PHP5.5 released, which adds a new array function Array_column, feels good!
But the lower version of PHP to use, you have to implement:
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;
}
}
Examples of Use
' last_name ' = ' Doe '
' last_name ' = ' Smith '
' last_name ' = ' Jones '
' last_name ' = ' Doe '
/*
Array
(
[0] = John
[1] = Sally
[2] = Jane
[3] = Peter
)
*/