我知道您在问一个关于如何将多维数据结构从前端传递到 PHP 后端的问题。你至少有两个选择。
选项编号 1-使用多维表单数据
PHP 能够解释以下结构(为简单起见,每行一个参数):
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
这回答了你的问题吗?