网站用户可以填写表单输入 - array(1,23,4,5)
等等。
可以是array(array('qwe'))
等变体。
如何将指定的所有类型的字符串转换为常规数组
所以我需要转换
array(
"String" => "I am a string",
"bool" => true,
"int" => 99,
"float" => 9.45,
"array" => array()
);
到
array(6) {
["String"]=>
string(13) "I am a string"
["bool"]=>
bool(true)
["int"]=>
int(99)
["float"]=>
float(9.45)
["array"]=>
array(0) {
}
}
此外,我无法使用eval
安全原因
P.S。抱歉我的英语不好。
答案 0 :(得分:0)
没有eval()的唯一方法是将它写入临时文件并包含它(同样有风险,可能无效,因此会产生解析错误):
file_put_contents('temp.php', '<?php $array = ' . $_POST['field'] . '; ?>');
include('temp.php');
var_dump($array);
答案 1 :(得分:0)
我使用PHPSandbox解析php并获取解析数组中的所有变体。
中的代码