Задать вопрос

Почему выводит 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. В чем я ошибаюсь? И вывод должен происходить в случайном порядке.
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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' />";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы