Почему код не добавляет в массив всё элементы? Привет , принимаю массив данных через 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 ссылки , то есть он доходит до пробела и не выполняет дальше или как ? Да прибудет с вами сила !
Проблема в вашем коде заключается в том, что вы используете оператор break внутри цикла for, который завершает выполнение цикла сразу же после того, как условие внутри if становится истинным.
Если вы хотите, чтобы код продолжал проверять и добавлять элементы массива до тех пор, пока не встретится пустое значение, вам нужно убрать оператор break из цикла.
Проблема в вашем коде заключается в том, что вы используете оператор 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>";
Теперь код будет добавлять все элементы массива, пока не встретит пустое значение, после чего остановится.