将Javascript对象转换为PHP数组

时间:2017-10-07 08:02:35

标签: javascript php arrays

我使用表单提交{"1":"2","2":"2","3":"2","4":"2"}

将此Javascript数组发送到PHP页面

现在,我想将此数组转换为PHP数组,就像这样

$cars = array("Volvo", "BMW", "Toyota");

所以,这就是我的尝试:

$phparray = str_replace(':', ',', $_POST["questionandanswers"]); // Remove : and replace it with ,
$phparray = str_replace('}', '', $phparray); // Remove }
$phparray = str_replace('{', '', $phparray); // Remove {
echo '<br/>';
echo $phparray; // Output of this is: "1","2","2","2","3","2","4","2"



$questionandanswers = array($phparray); // Now convert it into PHP array

但它不起作用。看起来我无法将$phparray变量放在array($phparray)

但是,如果不是将$phparray变量放在array($phparray)中,如果我手动输出$phparray,那么它就像:array("1","2","2","2","3","2","4","2")

解决方案是什么?

2 个答案:

答案 0 :(得分:3)

似乎你的表单向服务器提交了一个json对象,所以使用json_decode将第二个参数设置为true将其转换为数组

$php_array=  json_decode($_POST["questionandanswers"],true)

答案 1 :(得分:1)

使用json_decode之类的json_decode($json)。它将返回一个对象。 如果您需要数组,请使用json_decode($json, true)。 请参阅:http://sg2.php.net/manual/en/function.json-decode.php