计算数组中的键

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

EXAMPLE

array_keys() count()

对于二维数组尝试:

$result = count(array_column($array, $key));

PHP >= array_column() 需要 5.5.0 或使用 PHP Implementation of array_column()