计算数组中的键
Count keys in array
我写了下面的函数,它接受一个二维数组和 return 一个键出现的次数,但感觉我可能在这里重新发明轮子,有没有简单的方式?
function countKeys($array, $key)
{
$results = array();
foreach($array as $row)
{
if (array_key_exists($row[$key], $results))
{
$results[$row[$key]] += 1;
}
else
{
$results[$row[$key]] = 1;
}
}
return $results;
}
只需使用 count() 函数,如:
count($array);
参见:http://php.net/manual/pt_BR/function.count.php
您也可以使用此函数对数组变量进行计数。
希望对你有帮助。
要通过搜索计算二维数组中的键,我会这样做 -
function countKeys($array,$search){
$key_count = array(); // new array
foreach($array as $record) {
$keys = array_keys($record);
foreach($keys as $key){
if($key == $search){ // check against the search term
array_push($key_count, $key); // add the key to the new array
}
}
}
return count($key_count); // just count the new array
}
echo countKeys($records, 'last_name');
对于二维数组尝试:
$result = count(array_column($array, $key));
PHP >= array_column()
需要 5.5.0 或使用 PHP Implementation of array_column()
我写了下面的函数,它接受一个二维数组和 return 一个键出现的次数,但感觉我可能在这里重新发明轮子,有没有简单的方式?
function countKeys($array, $key)
{
$results = array();
foreach($array as $row)
{
if (array_key_exists($row[$key], $results))
{
$results[$row[$key]] += 1;
}
else
{
$results[$row[$key]] = 1;
}
}
return $results;
}
只需使用 count() 函数,如:
count($array);
参见:http://php.net/manual/pt_BR/function.count.php
您也可以使用此函数对数组变量进行计数。
希望对你有帮助。
要通过搜索计算二维数组中的键,我会这样做 -
function countKeys($array,$search){
$key_count = array(); // new array
foreach($array as $record) {
$keys = array_keys($record);
foreach($keys as $key){
if($key == $search){ // check against the search term
array_push($key_count, $key); // add the key to the new array
}
}
}
return count($key_count); // just count the new array
}
echo countKeys($records, 'last_name');
对于二维数组尝试:
$result = count(array_column($array, $key));
PHP >= array_column()
需要 5.5.0 或使用 PHP Implementation of array_column()