Почему код не добавляет в массив всё элементы? Привет , принимаю массив данных через POST Array
(
[type-sale] => Купля
[photo1] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[photo2] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[photo3] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[photo4] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[photo5] =>
[photo6] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[photo7] =>
)
Иногда могут приходить только по 3 или 4 фотки иногда по 7 и я решыл замутит кодик который будет проверять данные которые приходят через Post
вот мой код $nmPhoto = array('photo1','photo2','photo3','photo4','photo5','photo6','photo7');
for ($i=0;$i";
print_r ($photo);
echo "";
на выводе Array
(
[0] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[1] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[2] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
[3] => https://i.mycdn.me/image?id=850624141910&t=3&plc=WEB&tkn=*Vn9W27REGyHaVAYkwX6XoqZjQs4
)
это только первый 4 ссылки , то есть он доходит до пробела и не выполняет дальше или как ?
Да прибудет с вами сила !

21 Авг 2019 в 06:32
259 +1
0
Ответы
1

Проблема в вашем коде заключается в том, что вы используете оператор break внутри цикла for, который завершает выполнение цикла сразу же после того, как условие внутри if становится истинным.

Если вы хотите, чтобы код продолжал проверять и добавлять элементы массива до тех пор, пока не встретится пустое значение, вам нужно убрать оператор break из цикла.

Измените ваш код на следующий образ:

$nmPhoto = array('photo1', 'photo2', 'photo3', 'photo4', 'photo5', 'photo6', 'photo7');
$photo = array();
for ($i=0; $i<=6; $i++) {
$nextName = $nmPhoto[$i];
if ($_POST[$nextName] == null) {
break;
} else {
$photo[] = $_POST[$nextName];
}
}
echo "<pre>";
print_r($photo);
echo "</pre>";

Теперь код будет добавлять все элементы массива, пока не встретит пустое значение, после чего остановится.

20 Апр в 13:16
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 835 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир