Как отправить несколько массивов на основе выбранных флажков? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть список элементов, и я выбираю некоторые из них, но когда я отправляю форму, мне нужно иметь 3 массива с разными значениями, отправленными на PHP, поэтому следующие три массива: Идентификатор устройства, Клиент комментарий и комментарий производителя .

<input type="checkbox" name="devices[<?php echo $cases["dev_comment"]; ?>][<?php echo $cases["manuf_comment"]; ?>]" value="<?php echo $cases["Dev_Id"] ?>">

и в php Я делаю:

$devices_selected = $_POST['devices'];    

print:

Array (
    [comment 1 for IMEI no. 277745.5] => Array (
        [manuf comment for dev 1] => 1298
    )
    [comment 2 for IMEI no.576] => Array (
        [0] => 1318
    )
)

Не выглядит правильным , Я даже не знаю, как получить таким образом доступ к каждому значению трех массивов.

1 Ответ

0 голосов
/ 11 июля 2020

В вашем коде атрибут name имеет вид

name="devices[<?php echo $cases["dev_comment"]; ?>][<?php echo $cases["manuf_comment"]; ?>]"

Это создает многомерный массив, как с ключами

Чтобы все объяснить, давайте посмотрите на пример

<input type="text" name="name['hello']['world']">

Если ваш атрибут name установлен таким образом, мы получим массив как

Array
(
    [name] => Array
        (
            ['hello'] => Array
                (
                    ['world'] => John
                )

        )

)

Как мы видим, он создает многомерный массив с ключом hello и вторым world.

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

...