ホームページ >バックエンド開発 >PHPチュートリアル >PHP で POST 経由で多次元配列を効率的に送信および取得するにはどうすればよいですか?

PHP で POST 経由で多次元配列を効率的に送信および取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-03 16:37:16179ブラウズ

How to Efficiently Submit and Retrieve Multidimensional Arrays via POST in PHP?

PHP を使用した POST 経由の多次元配列の送信

多くのシナリオでは、さまざまな数の行と事前定義された列を含むフォームに遭遇します。ユーザーは必要に応じて自由に行を追加できます。これらの動的な入力を使用可能な形式に取り込む方法を理解することが重要です。

上直径、底直径、生地、色、数量などの製品属性の列を含むフォームを検討してください。列数は一定ですが、行数は動的です。

フォームの構築

動的な行数に対応するために、配列のインデックス。例:

<input name="topdiameter[0]" type="text">

これにより、次のような HTML が生成されます。


  <input name="topdiameter[0]" type="text">

入力データの取得

フォーム送信時に、入力データは次のようにアクセスできます。 $_POST スーパーグローバル。これは配列の配列として表示されます。

$_POST['topdiameter'] = array('first value', 'second value');
$_POST['bottomdiameter'] = array('first value', 'second value');

多次元配列の使用

複数の 1 次元配列を使用するよりも、単一の 2 次元配列を使用する方が効率的です。これを実現するには、フォーム名の形式を変更します:

name="diameters[0][top]"
name="diameters[0][bottom]"
name="diameters[1][top]"
name="diameters[1][bottom]"
...

この修正された形式により、値を簡単にトラバースできるようになりました:

if (isset($_POST['diameters'])) {
    echo '<table>';
    foreach ($_POST['diameters'] as $diam) {
        // Here, $diam['top'] and $diam['bottom'] are accessible
        echo '<tr>';
        echo '  <td>', $diam['top'], '</td>';
        echo '  <td>', $diam['bottom'], '</td>';
        echo '</tr>';
    }
    echo '</table>';
}

以上がPHP で POST 経由で多次元配列を効率的に送信および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。