Добавлено значение массива в новый массив: после исчезновения значения var_dump

Я пытаюсь добавить значение массива в новый массив следующим образом:

$clientname[] = $cname['name'];

Если я var_dump($cname['name']); тогда все выглядит нормально, но если я var_dump($clientname); Я ожидаю увидеть то же самое, но я не вижу, похоже, что я сделал var_dump($cname);

Полный код здесь:

foreach($clientname as $client) {
foreach($client as $cname) {
var_dump($cname['name']);
$clientname[] = $cname['name'];
var_dump($clientname);
}
}

Я должен был сделать foreaches из-за структуры массива, в которой он находится, очевидно, var_dump($cname['name']); повторяется на сумму $ cnames там, как и ожидалось

Что может быть причиной моего $clientname быть дубликатом $cname

0

Решение

Таким образом, в массиве, через который вы проходите цикл, вы добавляете значения к себе?

В PHP, внутри, он создает копию этого массива для цикла.
Так что, если вы сбросите массив после foreach’es, вы увидите новые значения в нем.

Почему вы добавляете эти значения в один и тот же массив? Может быть удобнее создать новый массив и добавить их к этому?

Вот как работает PHP в этом примере, но если вы можете прояснить проблему, которую вы пытаетесь решить, могут быть более эффективные способы ее решения.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]