<input name="foo[]" ... >
私は前にこれらを使用しましたが、それが何と呼ばれ、それのための仕様があるかどうか疑問に思っていますか?
HTML 4.01 Spec でそれを見つけることができず、さまざまなGoogleの結果は、多くのPHPフォームデータの処理の例とともに "配列"と呼ぶだけです。 。
コメントにはいくつかの参照とポインタがあります PHP.netのこのページ :
トルステンは言う
「XHTML仕様の互換性ガイドラインのセクションC.8は、フラグメント識別子としてのname属性の使用に適用されます。DTDを確認すると、「name」属性がまだフォーム要素のCDATAとして定義されていることがわかります。」
ジェットボーイは言う
「これによれば http://www.w3.org/TR/xhtml1/#C_8 XHTML 1.0ではname属性のタイプが変更されました。つまり、XHTMLのname属性の角括弧は有効ではありません。
ともかく、執筆時点では、W3CのバリデータはXHTMLドキュメントでこれを検出しません。」
HTMLではなく、単なるPHPです。
[]を持つすべてのHTMLフィールドを配列に解析します。
だからあなたは持つことができます
<input type="checkbox" name="food[]" value="Apple" />
<input type="checkbox" name="food[]" value="pear" />
<input type="checkbox" name="food[]" value="banana" />
そして、送信されると、PHPは$ _POST ['food']を配列にし、次のようにその要素にアクセスできます:
echo $_POST['food'][0]; // would output first checkbox selected
または、選択したすべての値を表示するには:
foreach( $_POST['food'] as $value ) {
print $value;
}
とにかく、特定の名前があるとは思わないでください
私の知る限り、HTML仕様には何もありません。これは、ブラウザーがこれらのフィールドに対して異なる処理を行うことを想定していないためです。通常どおりに送信し、PHPは他の言語と同様に配列への解析を行います。
それに従います...
<form action="index.php" method="POST">
<input type="number" name="array[]" value="1">
<input type="number" name="array[]" value="2">
<input type="number" name="array[]" value="3"> <!--taking array input by input name array[]-->
<input type="number" name="array[]" value="4">
<input type="submit" name="submit">
</form>
<?php
$a=$_POST['array'];
echo "Input :" .$a[3]; // Displaying Selected array Value
foreach ($a as $v) {
print_r($v); //print all array element.
}
?>