Почему выводит 6 картинок?

Помогите пожалуйста пишу достаточно простой скрипт, вот к чему я пришел:
$arr = array("slide01.jpg", "slide02.jpg", "slide03.jpg");
$i=0;


	while($i<4){
		shuffle($arr);
		foreach($arr as $key=>$value){
echo "<img src=".$value." width='200' />";
$i++;	
}
}

Не знаю почему, но выводит 6 фоток, должен вывести 5. В чем я ошибаюсь? И вывод должен происходить в случайном порядке.
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Где написано что должно быть 5?

В массиве - 3
Цикл на - 2 прохода(с учетом размера массива)
Каждый проход весь массив фото выводится.

Все переписать надо. Какой-то адок из кода получился.
Один цикл на N повторений, каждый раз забирая случайный элемент массива.
Ответ написан
Комментировать
riot26
@riot26
<:З )~~
Если нужно 5 случайных из массива (с возможными повторениями):

$arr = array("slide01.jpg", "slide02.jpg", "slide03.jpg");
for($i=0; $i<5; $i++ ) {
    echo "<img src=".$arr[rand(0, count($arr)-1)]." width='200' />";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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