[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Количество повторяющихся ключей в массиве =)
McLotos
Добрый вечер. Я знаю как найти количество повторяющихся значений в массиве, а как найти количество повторяющихся ключей?
Да, знаю что ключи массивов всегда уникальны, но не в случае если массив
[0][key1]=value
[1][key1]=value
[2][key2]=value
[3][key2]=value
вот как посчитать сколько раз встречается key1 если я заранее не знаю какие вообще есть ключи в массиве?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
linker
Самое банальное
$array = array
(
0 => array('a' => 1),
1 => array('a' => 2),
2 => array('g' => 3),
3 => array('g' => 4),
);


$count = 0;
$key = 'g';
foreach($array as $record)
if (isset($record[$key])) ++ $count;


_____________
Gear Framework
Gear Framework на Github
McLotos
Т.е. проверять каждый возможный ключ на наличие повторов?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
linker
Ну если у тебя php 5.5, то можно

$array = array
(
0 => array('a' => 1),
1 => array('a' => 2),
2 => array('g' => 3),
3 => array('g' => 4),
);

$key = 'g';
$count = count(array_column($array, $key));


_____________
Gear Framework
Gear Framework на Github
Игорь_Vasinsky
конкретно для массива с твоей структурой

$a - твой массив

$a = array_map('array_keys', $a);
$a = array_map(create_function('$v', 'return $v[0];'), $a);
$a = array_count_values($a);


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Предположим, что $arr - тот самый исходный массив. $count - новый одномерный массив, который будет содержать ключи второго массива, а в качестве величин - количество каждого ключа.
$arr=....;
$count=array();
foreach( $arr as $val):
foreach( $val as $k => $v ):
if( !isset( $count[$k]) )
{
$count[$k]=1;
}
else
{
$count[$k]++;
}
endoforeach;
endforeach;

//проверяем результат
echo '<pre>'.print_r( $count, 1).'</pre>';


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.