@feniksdv

Как много переменных объединить в одну (цикл for)?

Есть цикл
for ($I =0; $I<1000; $I++) {
    isset($_GET['idoffers'.$I])?($_GET['idoffers'.$I]):'';
}


После него мы получаем idoffers1..idoffers1000
теперь мне нужно сделать проверку типа:
if(!empty$_GET['idoffers5'] ||....$_GET['idoffers1000'])) {
....
}


Что не есть гуд, как одной переменой тут обойтись
так тоже бред:
$test= $_GET['idoffers5']..$_GET['idoffers1000']
if(!empty($test)) {
....
}


должен быть какой-то простой способ но я его не знаю, подскажите и если пишите код то пишите без сокращений.
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
paulfcdd
@paulfcdd
PHP/Sf/WEB developer
что значит одной переменной? почитайте, как работает цикл for. Во-первых, конструкиця for ($I =0; $I<1000; $I++) вернет вам $i в диапазоне от 0 до 999. во вторых, просто проверяете каждую переменную на isset или empty и в случае, если условние не выполнено, идете дальше по циклу благодаря оператору continue;

На деле будет выглядеть примерно так
for ($i =0; $i<1000; $i++) {
    if (empty($_GET['idoffers'.$i])) {
       continue;
    }
   //ваша логика
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
flapflapjack
@flapflapjack
на треть я прав
<form action=2.php>
<input name="idoffers[]">
<input name="idoffers[]">
<input name="idoffers[]">
<input name="idoffers[]">
<input name="idoffers[]">
</form>


2.php :

if(!empty($_GET['idoffers']))
{
foreach($_GET['idoffers'] as $key => $value)
{
print "$id = $value <br>";
}
}
Ответ написан
Комментировать
leni_m
@leni_m
ЧупаКобрус
Есть цикл
for ($I =0; $I<1000; $I++) {
isset($_GET['idoffers'.$I])?($_GET['idoffers'.$I]):'';
}

После него мы получаем idoffers1..idoffers1000

Как? не могу понять, как таким циклом у вас получаются переменные $idoffers... ?
теперь мне нужно сделать проверку типа:
if(!empty($idoffers1.$idoffers1000)) {
....
}

"." - склейка строк. Тоже не могу понять что вы тут хотите.

должен быть какой-то простой способ но я его не знаю, подскажите и если пишите код то пишите без сокращений.

Так вы может тоже без сокращений напишете? А то этот кусок
$test= idoffers1..idoffers1000
if(!empty($test)) {
....
}
вообще мазахизм какой-то.
Ответ написан
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Они у Вас и так в одной, в $_GET, а значит:
if(!empty($_GET)) {
Но я бы слал эти переменные вложенными $_GET['idoffers'][1], $_GET['idoffers'][2] и т.д. , тогда все просто и кроме Ваших idoffers в get может быть еще что угодно, а проверяете только их.
if(!empty($_GET['idoffers'])) {
Зачем Вам цикл тут вообще не представляю
Ответ написан
Ваш ответ на вопрос

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

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