Bir dizi geçmek için?

4 Cevap php

Nasıl GET yöntemiyle PHP ile bir dizi geçebileceği?

Teşekkürler

4 Cevap

Sorgu dizesinde (veya POST verisi, bu gerçekten önemli değil), bu ile bitmelidir:

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

PHP $_GET["foo"] içine ayrıştırmak olacak ve bir formdan size kalmış olduğunu cendereye Nasıl üyeleri 1, 2 ve 3 ile bir dizi. Olacaktır. Geçmişte, örneğin, "[] kontrol" farklı kutularını adlı ettik.

Eğer bir form aracılığıyla gibi mi demek istiyorsun?

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

Isim niteliği [] içinde olan dikkat edin.

Sonra php:

<?php
    $names = $_GET['name'];
    foreach($names as $name) {
        echo $name . "<br>";
    }
?>

Böyle bir şey ile komut dosyası çağırın:

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

Bu $ _GET aşağıdaki dizi neden olur:

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

Ayrıca düzenli dizisi indeksleme almak için anahtar adları dışında bırakabilirsiniz.

Bir kenara, yerine GET ile dizi geçirmeden, bu $ _SESSION diziyi saklamak için daha mantıklı ve daha sonra tekrar dışarı alabilirsiniz.