Я использовал array_column() в проекте, и после загрузки я узнал, что только PHP 5.5 или выше поддерживает эту функцию, и я думаю, что используемый хостинг не поддерживает PHP 5.5 или выше. 
Поэтому я хочу знать, есть ли альтернатива для исправления этой ошибки?
  Вот как я использую array_count в моем проекте: 
 array_count_values(array_column(json_decode(json_encode($queryResultArray), true), $idForBar)); 
Это отлично работает и в моем локальном xampp и wampp, но на сервере он дает проблемы. Просмотр любой альтернативной функции или решения.
  Добавьте свою собственную функцию array_column если ваша версия PHP не поддерживает ее: 
 <?php if (! function_exists('array_column')) { function array_column(array $input, $columnKey, $indexKey = null) { $array = array(); foreach ($input as $value) { if ( !array_key_exists($columnKey, $value)) { trigger_error("Key \"$columnKey\" does not exist in array"); return false; } if (is_null($indexKey)) { $array[] = $value[$columnKey]; } else { if ( !array_key_exists($indexKey, $value)) { trigger_error("Key \"$indexKey\" does not exist in array"); return false; } if ( ! is_scalar($value[$indexKey])) { trigger_error("Key \"$indexKey\" does not contain scalar value"); return false; } $array[$value[$indexKey]] = $value[$columnKey]; } } return $array; } } 
Справка:
  Вы также можете использовать array_map() если у вас нет array_column() из-за PHP <5.5: 
Пример:
 $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); 
Вы также можете использовать альтернативный код array_column (), просто просто вставьте ниже строки и замените переменную.
Код:
 array_map(function($element){return $element['last_name'];}, $a); 
Я надеюсь, что это поможет вам.
Вы всегда можете использовать другую реализацию функции array_column
 if (!function_exists('array_column')) { function array_column(array $array, $columnKey, $indexKey = null) { $result = array(); foreach ($array as $subArray) { if (!is_array($subArray)) { continue; } elseif (is_null($indexKey) && array_key_exists($columnKey, $subArray)) { $result[] = $subArray[$columnKey]; } elseif (array_key_exists($indexKey, $subArray)) { if (is_null($columnKey)) { $result[$subArray[$indexKey]] = $subArray; } elseif (array_key_exists($columnKey, $subArray)) { $result[$subArray[$indexKey]] = $subArray[$columnKey]; } } } return $result; } } 
Вместо этого используйте array_map () :
 array_count_values( array_map( function($value) use ($idForBar) { return $value[$idForBar]; }, json_decode( json_encode($queryResultArray), true ) ) ); 
  Существует официальная рекомендация для версий PHP, которые не поддерживают array_colum() разделе «см. Также»: 
»Рекомендуемая реализация userland для PHP ниже 5.5
  Их рекомендация другая, if (!function_exists('array_column')) подход, но код фактически извлекается из библиотеки array_column и немного более обобщен, чем примеры на этой странице.