2009-11-09 4 views

ответ

10

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

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

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

0

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

<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>"; 
    } 
?> 
+0

Да, я хочу сделать это через форму (с флажками), но это решение не сработало:/ – Gero

-1

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

0

Вы называете сценарий с чем-то вроде этого:

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

"Примечание: Неопределенный индекс: category" Я получаю это – Gero

+0

Точно, какую строку запроса вы используете, и как вы доступ к нему? –

+0

Это форма, и я пытаюсь ее распечатать out with print_r – Gero