PHP GET много почти одинаковых полей

166
29 сентября 2018, 21:50

есть проблема, И так из-за того что я не смог правильно сформировать вопрос не смог найти в гугле решения.
Так вот есть форма в которой динамически могут изменятся количество чекбоксов к примеру на выходе такое получим $_GET['checkbox_1'] но их может быть и до $_GET['checkbox_100'] и больше не писать же проверку каждого до пары тысяч) можно ли через фореч или вайл запустить поиск по 'checkbox_*' чтобы оно искало по части тега без цифры и в цикле делать проверку?

Answer 1
// Делаем вид что мы передали эти 2 чек бокса
$_GET['checkbox_1'] = 11;
$_GET['checkbox_2'] = 22;
// Обычная проверка
foreach ($_GET as $key => $value) {
    if (mb_substr($key, 0, 9) == 'checkbox_') {
        echo $value . PHP_EOL;
    }
}
// Если нужно чтоб прям "checkbox_[число]"
foreach ($_GET as $key => $value) {
    if (mb_substr($key, 0, 9) == 'checkbox_') {
        $number = mb_substr($key, 9);
        if (intval($number) == $number) {
            echo $number . '-' . $value . PHP_EOL;
        }
    }
}
Answer 2

Вот так можно:

<input type="checkbox" name="checkboxArray[]" />

пройти по всем полям и проверь, то что нужно. Получается массив полей типа checkbox.

На стороне сервера, проверяете, что isset($_POST['checkboxArray']) (такому кол-ву полей уже не подойдет $_GET) и пройти можно foreach например.

UPD:

// Проверка
if(isset($_POST['checkboxArray'])){
    $arCheckboxes = $_POST['checkboxArray'];
    // Подсчет элементов
    $size = count($arCheckboxes);
    for ($i = 0; $i < $size; $i++) {
         // your code goes here...
         // Проход по элементам
         echo $arCheckboxes[$i];
    }    
}
READ ALSO
Зависают php процессы

Зависают php процессы

Есть скрипт который поднимает по 5 параллельных процессов в секунду, каждый процесс шлет запрос на апи, после получения ответа умирает и поднимаются...

176
Подгрузка данных в нужную структуру

Подгрузка данных в нужную структуру

На сайте есть скрипт, который постоянно подгружает записи в таблицу(table) из БД

163
Дополнительные поля в Joomla

Дополнительные поля в Joomla

Задача состоит в том, чтобы установить дополнительные поля вручную

212
два зависимые селекта

два зависимые селекта

Нужно чтобы значение из сountry передавалось в region

536