我使用表单提交{"1":"2","2":"2","3":"2","4":"2"}
现在,我想将此数组转换为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")
解决方案是什么?
答案 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