Это про foreach и массив, подробности в посте - PullRequest
0 голосов
/ 24 января 2019

Итак, у меня есть этот код

foreach ($exportQueryResult->deckGroups as $key => $deckGroup) {
   $row['Group name'.$key] = $deckGroup->name;
}

, который возвращает мне

[
    "Group name0" => "name"
    "Group name1" => "Hakuna MATATA *"
]

есть ли возможность вернуть что-то подобное:

[
    "Group name" => "name"
    "Group name" => "Hakuna MATATA *"
]

Я знаю, что это не совсем ясно, но это лучшее, что я могу сказать :)

Ответы [ 2 ]

0 голосов
/ 24 января 2019

То, что вы спрашиваете, невозможно, потому что ключи в ассоциативных массивах уникальны.

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

Например:

$row['Group name'] = [];
foreach ($exportQueryResult->deckGroups as $key => $deckGroup) {
    array_push($row['Group name'], $deckGroup->name);
}

Это должно привести к чему-то вроде:

[
    "Group name" => ["name", "Hakuna MATATA *"]
]
0 голосов
/ 24 января 2019

Это невозможно.Причина Массив не поддерживает то же имя индекса.Имя индекса массива всегда должно быть уникальным.Если вы попытаетесь использовать значение ['value'] = 5 и снова значение ['value'] = 10, то результат будет примерно таким: a = ['value' = 10]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...