gpt4 book ai didi

php - 你能有一个设置为数组的 PHP $_POST 变量吗?

转载 作者:搜寻专家 更新时间:2023-10-31 20:52:32 24 4
gpt4 key购买 nike

我正在使用 AJAX 将一些数据放入我的数据库中。我正在使用 JSON 将数据提交到 PHP 页面。我正在使用 POST 请求。您可以将其中一个 POST 变量设置为数组吗?下面我有完整的 AJAX 请求,但这是我将数据的两部分设置为数组的部分:

"content[]" : testContentArray,
"content_attr[]" : testContentAttributes,

下面是我的完整 AJAX(使用 jQuery):

$.ajax({
type: "POST",
url: "../includes/create_test_main.ajax.php",
data: {"tags" : $('#testTags').val(),
"title" : $('#testTitle').val(),
"subject" : $('#testSubject').val(),
"description" : $('#testDescription').val(),
"content[]" : testContentArray,
"content_attr[]" : testContentAttributes,
"user_id" : user_id},
success:

function(testId) {//redirect Page
window.location.href = "http://localhost/nvr_forget/public_html/test/" + testId + "/";
}
});
};

如果那样做,我将如何在 PHP 端处理它?我如何将 $_POST 变量作为普通数组处理?

最佳答案

当您将 data 对象中的数组传递给 $.ajax 时,它会被解析为 name[]=value 格式。这是使用 $.param 完成的,所以我将说明如何使用它:

jQuery.param({'foo': [1, 2, 5]})
// "foo%5B%5D=1&foo%5B%5D=2&foo%5B%5D=5"

%5B%5D 是 uri 编码的方括号。这是将同一键的多个值发送到服务器的常用方法。 PHP 将其解析为数组,因此在本例中:

var_export($_POST['foo']);
// array ('1', '2', '5')

所以在您的代码中,$_POST['content']$_POST['content_attr'] 都应该是数组。您使用的方括号是不必要的,但不会破坏任何东西。

See the PHP manual on the subject .

关于php - 你能有一个设置为数组的 PHP $_POST 变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6164248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com