@Jony1337

Почему код не добавляет в массив всё элементы?

Привет , принимаю массив данных через 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<=6;$i++) {
	$nextName = $nmPhoto[$i];
	if ($_POST[$nextName] == null) {
		break 1;
	}
	else {
$photo [$i] =$_POST[$nextName] ;
	}
}
//photo end
echo "<pre>";
print_r ($photo);
echo "</pre>";

на выводе
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 ссылки , то есть он доходит до пробела и не выполняет дальше или как ?
Да прибудет с вами сила !
  • Вопрос задан
  • 216 просмотров
Пригласить эксперта
Ответы на вопрос 2
@WQP
Для массивов используйте php.net/manual/ru/control-structures.foreach.php
Ответ написан
Комментировать
@Catrinblaidd
break прерывает выполнение цикла. для чего вообще вам проверять условие ==null?
$nmPhoto = array('photo1','photo2','photo3','photo4','photo5','photo6','photo7');
$resultPhoto = [];
foreach ($nmPhoto as $key => $name) {
  if (isset($_POST[$name])) {
    $resultPhoto[$key] = $_POST[$name];
  }
}
echo '<pre>';
print_r ($resultPhoto);
echo '</pre>';

P.S. и сила, всё-таки, прЕбудет)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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