JackShcherbakov
@JackShcherbakov

Что я делаю не так с foreach()?

Цитата из книги:
[Тут разжевывается про то, что имеется более краткая конструкция для числовых массивов]...для перебора числовых массивов отсутствует. [Да, да. Больше ничего нет. Дальше показывается числовой массив и конструкция foreach без $value]
<- Тут опечатка, что и вызвывает вопрос

Почему код не работает без $value? Вот же все как в книге: числовой массив и foreach без $value. И почему $value такой обязательный?
<?php 
	$array = array("asdasd", "YYY");
	foreach($array as $dish => $value){
		$array[$dish]  = $array[$dish] . $array[$dish];
		print $array[$dish];
	}
?>
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 1
Hakujin
@Hakujin
Разрабочик
Потому, что такая конструкция $dish => $value предполагает ассоциативный массив, а у вас индексный.
Вам его перебирать нужно, как уже написали выше:
foreach($array as &$item) {
    $item .= $item;
    print($item);
}


или вообще используйте for:
for ($i = 0;$i < count($array), $i++){
    $array[$i] .= $array[$i];
    print($array);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы