Подскажите как подсчитать количество одинаковых значений в массиве?

Есть не совсем обычный массив, в котором есть такие значения:

$array = [
  '|3|7|',
  '|1|3|4|',
  '|2|3|',
  '|1|'
];

Нужно подсчитать количество одинаковых значений, и результат должен быть таким:

$array = [
  1 => 2,
  2 => 1,
  3 => 3,
  4 => 1,
  7 => 1
];

Будут только цифры


Ответы (1 шт):

Автор решения: Json

Функцией array_count_values. Результат будет примерно таким

$array = [
  '|3|7|',
  '|1|3|4|',
  '|2|3|',
  '|1|'
];

$result = [] ;

foreach($array as $value) {
$result = Array_merge($result,explode('|', trim($value, '|')));
}
$result = array_count_values($result);
KSort($result) ; 
print_r ($result) ;
→ Ссылка