значение инкремента внутри массива массивов (если ключ не существует, установите его в 1)

Вопрос обновлен, чтобы уточнить

Для простых массивов мне удобно использовать $arr[$key]++ для заполнения нового элемента или увеличения существующего элемента. Например, подсчитывая количество фруктов, $arr['apple']++ создаст элемент массива $arr('apple'=>1) когда впервые встречается «яблоко». Последующие итерации просто увеличивают значение для «яблока». Нет необходимости добавлять код, чтобы проверить, существует ли ключ «яблоко».

Я заполняю массив массивов и хочу добиться аналогичного «однострочного», как в примере выше, в элементе вложенного массива.

$stats – массив. Каждый элемент в $stats – это еще один массив с 2 ключами («имя» и «счет»)

Я хочу, чтобы можно было массировать массив в $stats – если ключ уже существует, просто увеличивайте значение «count». Если он не существует, создайте новый массив элементов и установите значение count равным 1. И сделайте это в одной строке, как и в примере выше для простого массива.

В коде это будет выглядеть примерно так (но не работает):

 $stats[$key] = array('name'=>$name,'count'=>++); or $stats[$key] = array('name'=>$name,++); 

Ищете идеи о том, как достичь этого, без необходимости проверять, существует ли элемент.

Задний план:

Я перемещаюсь по массиву объектов, глядя на элемент данных в каждом из них. Вот отрезок из массива:

 [1] => stdClass Object ( [to] => stdClass Object ( [data] => Array ( [0] => stdClass Object ( [name] => foobar [id] => 1234 ) ) ) 

Я хотел бы подсчитать вхождения «id» и соотнести его с «именем». («id» и «name» являются уникальными комбинациями – например, name = «foobar» всегда будет иметь id = 1234)

т.е.

 id name count 1234 foobar 55 6789 raboof 99 

Я использую массив массивов на данный момент, $stats , чтобы захватить информацию (я открываю для других реализаций. Я смотрел в array_unique но мои исходные данные были глубоко внутри массивов и объектов).

В первый раз, когда я сталкиваюсь с «id» (например, 1234), я создам новый массив в $stats и установлю счетчик равным 1. Для последующих обращений (например: id = 1234) я просто хочу увеличить count .

Для одномерных массивов $arr[$obj->id]++ отлично работает, но я не могу понять, как нажимать / увеличивать массив массивов. Как я могу нажимать / увеличивать в одной строке многомерные массивы?

Заранее спасибо.

 $stats = array(); foreach ($dataArray as $element) { $obj = $element->to->data[0]; // this next line does not meet my needs, it's just to demonstrate the structure of the array $stats[$obj->id] = array('name'=>$obj->name,'count'=>1); // this next line obviously does not work, it's what I need to get working $stats[$obj->id] = array('name'=>$obj->name,'count'=>++); } 

Solutions Collecting From Web of "значение инкремента внутри массива массивов (если ключ не существует, установите его в 1)"