PHP Passerelles par POST


Exemple

Généralement, un élément de formulaire HTML soumis à PHP génère une valeur unique. Par exemple:

<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
    <input type="hidden" name="foo" value="bar"/>
    <button type="submit">Submit</button>
</form>

Cela se traduit par la sortie suivante:

Array
(
    [foo] => bar
)

Cependant, il peut arriver que vous souhaitiez transmettre un tableau de valeurs. Cela peut être fait en ajoutant un suffixe de type PHP au nom des éléments HTML:

<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
    <input type="hidden" name="foo[]" value="bar"/>
    <input type="hidden" name="foo[]" value="baz"/>
    <button type="submit">Submit</button>
</form>

Cela se traduit par la sortie suivante:

Array
(
    [foo] => Array
        (
            [0] => bar
            [1] => baz
        )

)

Vous pouvez également spécifier les indices du tableau, sous forme de nombres ou de chaînes:

<pre>
<?php print_r($_POST);?>
</pre>
<form method="post">
    <input type="hidden" name="foo[42]" value="bar"/>
    <input type="hidden" name="foo[foo]" value="baz"/>
    <button type="submit">Submit</button>
</form>

Qui renvoie cette sortie:

Array
(
    [foo] => Array
        (
            [42] => bar
            [foo] => baz
        )

)

Cette technique peut être utilisée pour éviter les boucles de post-traitement sur le tableau $_POST , rendant votre code plus léger et plus concis.