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

1. Win4esteR (12.04.2018 / 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. Вантуз-мен (12.04.2018 / 08:52)
Поставь break; в if, он сразу выйдет из первой итерации

3. Win4esteR (12.04.2018 / 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. Иван (14.04.2018 / 08:33)
Что-то как-то стрёмно цикл в цикле. Не рекомендуют так делать

5. Андрей (14.04.2018 / 12:18)
вот вот)

6. AkexandrFox (16.04.2018 / 01:05)

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

7. Андрей (16.04.2018 / 19:28)
быдлокод наше всё

8. Александр (16.04.2018 / 20:58)

быдлокод наше всё
Andrei4ik93 (Сегодня / 18:28)
Все когда-то начинают....
Это можно написать намного проще, но я не смог понять задумку автора по этому коду

URL: https://visavi.net/topics/43955