フロントエンドから PHP バックエンドに多次元データ構造を渡す方法について質問されていると思います。少なくとも 2 つの選択肢があります。
オプション番号 1 - 多次元フォーム データを使用する
PHP は次の構造を解釈できます (簡単にするために、1 行に 1 つのパラメーターを使用しています)。
items[0][title]=Movie1
items[0][video_id]=3123
items[1][title]=Movie2
items[1][video_id]=5422
POST
本文として、またはGET
クエリ パラメータ内で渡されると、渡された構造が次のように解釈されます。
$data = array(
'items' => array(
array(
'title' => 'Movie1',
'video_id' => '3123',
),
array(
'title' => 'Movie2',
'video_id' => '5422',
),
),
);
$data = $_GET
ただし、(クエリパラメーターとして渡す$data = $_POST
場合)または(リクエストボディに渡す場合)を実行することで簡単に取得できます。これは非常に単純な例です。
HTML から渡すには、フィールドに適切な名前を付けるだけです (最初に指定したリストでは、フィールドの名前は " " の左側にあり=
、値は右側にあります)。したがって、上記の例の値を渡すには、フォームは次のようになります。
<form action="/some/url" method="post">
<input name="items[0][title]" value="Movie1" />
<input name="items[0][video_id]" value="3123" />
<input name="items[1][title]" value="Movie2" />
<input name="items[1][video_id]" value="5422" />
</form>
同様のパターンに基づいて、非表示のフィールドを含むフォームを作成し (ユーザーに表示されないようにする)、同様の方法で名前を作成することができます (データ構造が維持されるようにします)。
オプション番号 2 - JSON を使用する
JSON は非常に一般的な形式であり、バックエンドにテキストを渡すことができれば、プリミティブデータ (つまり、標準オブジェクト、配列、文字列、ブール値、整数、浮動小数点数、および null) をシリアル化し、バックエンドで次のようにデコードできます。
$data = json_decode($_POST['data']); // assuming 'data' key contains JSON string
それはあなたの質問に答えましたか?