Как передать массив? - PullRequest
       6

Как передать массив?

3 голосов
/ 09 ноября 2009

Как я могу передать массив с PHP методом GET?

Спасибо

Ответы [ 4 ]

10 голосов
/ 09 ноября 2009

В вашей строке запроса (или данных POST, это на самом деле не имеет значения) вы должны получить следующее:

http://example.com/myscript.php?foo[]=1&foo[]=2&foo[]=3

PHP разберет это в $_GET["foo"], и это будет массив с членами 1, 2 и 3. Как вы можете изменить это из формы, решать только вам. В прошлом я называл разные флажки, например, «check []».

0 голосов
/ 09 ноября 2009

Вы называете сценарий примерно так:

http://www.example.com/script.php?foo[bar]=xyzzy&foo[baz]=moo

Это приведет к следующему массиву в $ _GET:

array(1) { ["foo"]=> array(2) { ["bar"]=> string(5) "xyzzy" ["baz"]=> string(3) "moo" } }

Вы также можете не указывать имена ключей, чтобы получить обычную индексацию массива.

0 голосов
/ 09 ноября 2009

Помимо этого, вместо передачи массива с помощью GET, возможно, имеет смысл сохранить массив в $ _SESSION и вывести его позже.

0 голосов
/ 09 ноября 2009

Вы имеете в виду как через форму?

<form method="GET" action="action.php">
    <input type="text" name="name[]">
    <input type="text" name="name[]">
    <input type="submit" value="Submit">
</form>

Обратите внимание, что атрибут name содержит [].

Тогда в вашем php:

<?php
    $names = $_GET['name'];
    foreach($names as $name) {
        echo $name . "<br>";
    }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...