Группировка массива php

Получился такой массив:

$arr = array(
    "nameA" => 10,
    "nameA" => 10,
    "nameB" => 10,
    "nameB" => 10,
    "nameB" => 20
    );

Как проще всего превратить это в это:

$arr2 = array(
    "nameA" => 20,
    "nameB" => 40
    );

Ваш ввод недействителен. У вас не может быть один и тот же ключ дважды. PHP проигнорирует дублированные ключи и останется с последним.

Felippe Duarte 10.08.2018 00:51

Как сказал @FelippeDuarte, массив имеет несколько ключей и стирает более ранние данные, оставляя вас с nameA = 10 и nameB = 20

Forbs 10.08.2018 00:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
24
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы хотите сохранить такие данные, вы можете использовать двумерный массив.

$data = array( 
   „nameA“ => array( 10, 20, 30 ),
   „nameB“ => array( 10, 20 )
);

Суммируя значения:

foreach( $data as $d ){
    $d = array_sum( $d );
}
$arr = array(
    "nameA" => 10,
    "nameA" => 10,
    "nameB" => 10,
    "nameB" => 10,
    "nameB" => 20
    );

когда вы так объявляете, в $ arr всегда будет неявно два элемента. Но я не знаю, какова ваша цель этой декларации, зачем вы ее сначала подводите.

Другие вопросы по теме