вопрос по массивам и циклу

1. Win4esteR (12.04.18 / 02:41)
ребята, подскажите пожалуйста...
вот код
foreach ($test as $key => $val) {
foreach ($val as $key2 => $val2) {
if($key2 == "ololo")
$test2 = [
"$key" => "$val2"
];
}
}

в результате получается Array ( [Test5] => 5 )
Выдает последнее значения из исходного массива.
Как сделать чтобы выдавало
Array ( [Test1] => 1 )
...........................
Array ( [Test5] => 5 )
Заранее спасибо!

2. Vantuz (12.04.18 / 08:52)
Поставь break; в if, он сразу выйдет из первой итерации

3. Win4esteR (12.04.18 / 15:10)
Vantuz, нет, не работает. в этом случае вообще массив даже не создается. проблему решил, спасибо.
Нужно было сделать вот так
foreach ($test as $key => $val) {
foreach ($val as $key2 => $val2) {
if($key2 == "ololo" and $test2 == NULL)
$test2 = [
"$key" => "$val2"
];
elseif ($key2 == "ololo" and $test2 != NULL)
$test2 += ["$key"=>"$val2"];
}
}


4. Ixman (14.04.18 / 08:33)
Что-то как-то стрёмно цикл в цикле. Не рекомендуют так делать

5. Andrei4ik93 (14.04.18 / 12:18)
вот вот)

6. AkexandrFox (16.04.18 / 01:05)

Что-то как-то стрёмно цикл в цикле. Не рекомендуют так делать Ixman (14.04.18 / 08:33)

Странно, что тебя только цикл в цикле удивил:)

7. Andrei4ik93 (16.04.18 / 19:28)
быдлокод наше всё

8. rastoman (16.04.18 / 20:58)

быдлокод наше всё Andrei4ik93 (Сегодня / 18:28)

Все когда-то начинают....
Это можно написать намного проще, но я не смог понять задумку автора по этому коду

URL: //visavi.net/topic/43955