Объедините несколько массивов с одинаковыми ключами и разными значениями

У меня есть два массива, которые генерируются в двух циклах foreach, и я хочу установить первый массив как ключи, а второй - как значения.

после того, как я использую этот код

foreach ($difference AS $j) {
   $fv = $cate->getFilterValueByFeatureID($j);
        foreach ($fv AS $z) {
             $array = array(
                  $j => $z
                 );
              var_dump($array);
          }
 }

это то, что я получаю

array(1) {
  [6]=>
  int(15)
}

array(1) {
   [6]=>
   int(20)
 }

array(1) {
    [8]=>
  int(26)
}

array(1) {
  [8]=>
  int(27)
    }

array(1) {
    [8]=>
    int(33)
}

и я хочу этот результат

array(1){
[6] => array(
        [0] => 15
        [1] => 20
)
array(1){
[8] => array(
        [0] => 26
        [1] => 27
        [2] => 33
)

Просто нужно изменить на $array[$j][] = $z; (говоря, что $j является ключом, и этот ключ указывает на массив, если вы хотите добавить новый элемент массива, который равен $z).

Andrew Larsen 19.02.2019 10:44
Стоит ли изучать 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 и хотите разрабатывать...
0
1
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вот так (не проверено)

$result = [];
foreach ($difference AS $j) {
  $fv = $cate->getFilterValueByFeatureID($j);
    foreach ($fv AS $z) {
         if (!isset($result[$j])) $result[$j] = [];

         $result[$j][] = $z;
      }
}

var_dump($result);

Вы можете удалить эту строку if (!isset($result[$j])) $result[$j] = [];. Если $j не установлен, PHP автоматически создаст пустой массив

dWinder 19.02.2019 10:52

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

M.Aldein 19.02.2019 10:55

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