Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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将字符串转换为数组_Php_Arrays_String_Converter - Fatal编程技术网

PHP将字符串转换为数组

PHP将字符串转换为数组,php,arrays,string,converter,Php,Arrays,String,Converter,如何转换字符串$string='数组(数组(“a”=>“内容”))(评估?检查 注意手册中显示的注意事项…eval?检查 请注意手册中显示的注意事项…您/可以/使用: 输出: Array ( [0] => Array ( [a] => content ) ) 但如果您接受用户输入,则不应使用eval() 也可以考虑使用//代替.< /P> 或者,要以字符串形式存储数组,您可以使用and。您可以使用: 输出: Arra

如何转换字符串
$string='数组(数组(“a”=>“内容”))(评估?检查

注意手册中显示的注意事项…

eval?检查

请注意手册中显示的注意事项…

您/可以/使用:

输出:

Array
(
    [0] => Array
        (
            [a] => content
        )

)
但如果您接受用户输入,则不应使用
eval()

也可以考虑使用//代替.< /P> 或者,要以字符串形式存储数组,您可以使用and。

您可以使用:

输出:

Array
(
    [0] => Array
        (
            [a] => content
        )

)
但如果您接受用户输入,则不应使用
eval()

也可以考虑使用//代替.< /P>


或者,要以字符串形式存储数组,可以使用and。

eval在我仅公开此类函数时不安全。我尝试过,并在使用eval时对其进行了攻击。我尝试过:$reg_exp=“/array(*.*)/”;$subject=“array(array(1=>'123'));$result=preg_split($reg_exp,$subject);var_dump($result);输出:数组(2){[0]=>string(0)”“[1]=>string(0)””}但这是不正确的。请帮助!当我仅公开此类函数时,eval不是安全的。我尝试过,并在使用eval时对其进行了黑客攻击。我尝试过:$reg\u exp=“/array(*.*)/”;$subject=“array(array(1=>'123')”;$result=preg\u split($reg\u exp,$subject);var\u dump($result);输出:array(2){[0]=>string(0)“[1]=>string(0)“}但这是不正确的。请帮助!我的问题是,为什么一开始就有这样一个字符串?请提供更多的上下文。当您已经知道eval不安全且不是解决方案时,有两个人回答eval。不要浪费人们的时间建议您从一开始就排除的事情。请注意“具体”部分在@Gordon中:我更新了上面的更多信息。我的问题是,为什么你一开始就有这样一个字符串?请提供更多的上下文。你有两个人回答eval,而你已经知道eval是不安全的,不是一个解决方案。不要浪费人们的时间建议你从一开始就排除的事情。注意“具体”部分在@Gordon中:我更新了上面的更多信息。如果$string从$\u POST获取数据,比如:$string=$\u POST['string'];像这样:$string='array(数组(“a”=>“content”);die(“HACK:在此之前添加更多函数”);eval(\$array=$string;”);print\r($array);如果使用eval()
$string='array(数组(“a”=>“content”);die(“HACK:在此之前添加更多函数”);eval(\$array=$string;”;print\r($array)
Output:
HACK:在此之前添加更多函数
@trungnq如果你从外部获取字符串,你应该编写一个解析器。最好是同意一些更简单的东西,比如JSON。@trungnq:正如我在回答中提到的,如果需要接受用户的输入,你不应该使用eval。如果你能在您的问题中提到您不想使用eval。无论如何,我建议了其他方法-您可能想查看它。:-@AmalMurali:我可以看到您的更新答案。您可以解释更多。谢谢!如果$string从$\u POST获取数据,比如:$string=$\u POST['string'];像这样:$string='array(array(“a”=>“content”);die(“HACK:add more functions before“;eval(\$array=$string;”);print\r($array);如果使用eval()
$string='array(array(“a”=>“content”);die(“HACK:add more functions before”);eval(\$array=$string;”);print\r($array)
Output:
HACK:在此之前添加更多函数
@trungnq如果你从外部获取字符串,你应该编写一个解析器。最好是同意一些更简单的东西,比如JSON。@trungnq:正如我在回答中提到的,如果需要接受用户的输入,你不应该使用eval。如果你能在你的问题中提到你不想使用eval。无论如何,我建议了其他方法-你可能想看看。:-@AmalMurali:我可以看到你更新的答案。你能解释更多吗?谢谢!
Array
(
    [0] => Array
        (
            [a] => content
        )

)