如果你因为 PHP<5.5 没有,你也可以使用函数:array_map()
array_column()
例:
$a = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
)
);
array_column($a, 'last_name');
成为:
array_map(function($element) {
return $element['last_name'];
}, $a);
因此,您的代码将是:
array_count_values(
array_map(function($arr) use ($idForBar) {
return $arr[$idForBar];
}, $queryResultArray)
);
以上是在 PHP 5.3.0 及更高版本上运行的!
如果你有< PHP 5.3.0,就像你写的 PHP 5.2.17 一样,只需使用简单的函数:
function get_field_data($array, $field, $idField = null) {
$_out = array();
if (is_array($array)) {
if ($idField == null) {
foreach ($array as $value) {
$_out[] = $value[$field];
}
}
else {
foreach ($array as $value) {
$_out[$value[$idField]] = $value[$field];
}
}
return $_out;
}
else {
return false;
}
}
用法:
$output = get_field_data($queryResultArray, $idForBar);