Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 反向序列化()-jquery_Php_Javascript_Jquery_Jsonserializer - Fatal编程技术网

Php 反向序列化()-jquery

Php 反向序列化()-jquery,php,javascript,jquery,jsonserializer,Php,Javascript,Jquery,Jsonserializer,我用这段代码发送了一个ajax请求的数据(json) var formdata = $("#customForm").serialize(); type: "post", dataType: "json", data: formdata, 在php文件中,是否有可能反向序列化 或者我需要这样做:$pass=$\u POST['pass']用于所有字段 谢谢是的。你只需要像$pass=$\u POST['pass']:)这

我用这段代码发送了一个ajax请求的数据(json)

var formdata = $("#customForm").serialize();

            type: "post",
            dataType: "json",
            data: formdata,
在php文件中,是否有可能反向序列化

或者我需要这样做:
$pass=$\u POST['pass']用于所有字段


谢谢

是的。你只需要像
$pass=$\u POST['pass']
:)这样的访问

听起来你的“或”陈述方向正确。数据应该在$\u POST数组中可用,而无需“反序列化”任何内容

编辑


尝试命名输入字段,以便它们都以数组形式进入post变量:

<input name="myformdata[first_name]" id="first_name" />
<input name="myformdata[last_name]" id="last_name" />

然后在post数组中,您可以访问所有表单数据,如:

<?php $form_data_array = $_POST['myformdata']; ?>

试试PHP的功能:

extract($_POST);
示例

$_POST = array('var_1' => 1234, 'var_2' => 'another variable');

extract($_POST);

echo $var_1.' '.$var_2;
输出

$_POST = array('var_1' => 1234, 'var_2' => 'another variable');

extract($_POST);

echo $var_1.' '.$var_2;
1234另一个变量

适用于您的情况

$_POST = array('var_1' => 1234, 'var_2' => 'another variable');

extract($_POST);

echo $var_1.' '.$var_2;
摘录(元);

将导致
$\u POST
数组中存在的任何
key=>value
对被提取到变量中

类似于对
$\u POST
数组中的所有变量执行
$pass=$\u POST['pass']

说明

$_POST = array('var_1' => 1234, 'var_2' => 'another variable');

extract($_POST);

echo $var_1.' '.$var_2;
extract
将变量从数组导入当前符号表

它检查每个键以查看其是否具有有效的变量名。它还检查与符号表中现有变量的冲突


来自

但我有二十多个字段。。。通常是一个,两个或三个变量,好吧,但是二十个变量有点无聊。。但是您可以使用
$\u POST
变量到任何地方。@scott,问题是变量的数量。请命名您的输入字段,以便所有字段都进入一个数组。我将以编辑我的文章为例。我想这就是你想要的。您是否希望在数据进入PHP后减少变量的数量?也许我需要澄清一下你需要什么。抱歉搞混了。谢谢斯科特。我想你明白我在假装什么。我只是想避免一系列变量,比如:$pass=$\u POST['name']$pass=$_POST['address']$通过=$_POST['country'];。。。对于二十个变量,我认为这应该适合你。你能试一试吗?如果您仍然有问题,请发表评论,我将尝试提供帮助。但是如果我发送了serializeArray();我需要得到php文件中的值。所以你所建议的也有同样的问题$_POST=array('var_1'=>$_POST['pass'])。我需要为所有varibalesNo做同样的事情,这是一个例子,在您的情况下,您只需执行
提取($\u POST)-没有别的了。我使用这个示例的目的只是向您展示一些可以运行并获得类似结果的代码。好的,我理解,在这种情况下,我只使用一次POST,而不使用二十美元POST['pass']。谢谢,很好。是的,只要你有办法知道哪些变量被放入
$\u POST
数组:)。另外,请注意,如果没有第二个参数,
extract
将覆盖已用相同名称声明的任何变量!有关此函数可能的第二个参数的更多信息,请参阅php文档。