Вот примерная схема цикла:
$img = array(
[1]=>'фото 1',
[2]=>'фото 2',
[3]=>'фото 3',
[4]=>'фото 4',
[5]=>'',
);
$i = 1;
while($img[$i]){
$i++;
echo $i;
};
На практике картинки это строки, нужно вывести 4 фотографии если 5 строка пустая, и так далее(3 фото если 4 строка пустая и.т.д).
Проблема в том что если последняя строка пустая то он выполняет последний проход цикла и закрывается. То-есть выводит пустую строку.
Как это обойти?
$img = array('фото 1','фото 2','фото 3','фото 4','');
$i = 1;
//добавьте проверку на пустоту, и как только встретится пустая строка, цикл прервется
while($img[$i] !== ""){
$i++;
echo $i;
};
Вот рабочий пример
$img = array(
'фото 1',
'фото 2',
'',
'фото 4',
'',
);
$i = 0;
while($img[$i]){
echo $img[$i];
$i++;
};
Результаты:
aaa:фото 1
aaa:фото 2
aaa:фото 3
aaa:фото 4
Сначала надо делать echo $img[$i];
, а потом только счетчик прибавлять.
Вот не зависимо от того где будет пустое значение будут выведены все значения масива:
$img = array('фото 1','фото 2','фото 3','фото 4','','фото 5','');
foreach($img as $item){
if($item != ""){ //если значениэ не пустое
echo $item . "<br>"; // выводим значение
}
}
Результат: фото 1 фото 2 фото 3 фото 4 фото 5
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Почему нельзя передать объекты в массив подобным образом?
Я пишу программу, которая выстраивает пирамиду из отсортированных чисел и возвращает двумерный массив
Всем привет! Ищу помощь у тех, кто сталкивался с подобной задачей или у тех, кто знает, как ее решить
Проблема в том, что при выполнение нового запроса на сервер после прокручивания у меня список полностью обновляется, необходимо, чтобы он добавлялся...