我有一个这样的字符串:
$str = "array (
'from' => 'OK',
'to' => 'OK',
array (
'id' => 204847
),
)"
我怎样才能创建匹配的数组?或者我怎么能得到 id ?
如果此字符串不是用户输入,最简单的方法是使用eval
.
eval('$myArray = '.$str.';');
文档中的重要说明:
eval()
语言结构非常危险,因为它允许执行任意 PHP 代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造之外别无选择,请特别注意不要将任何用户提供的数据传入其中,而无需事先正确验证。
你可以使用 PHP 的eval()
函数,认为你需要确定这个字符串是可信的。即使这样我也不愿意推荐它:
文档: http: //php.net/manual/en/function.eval.php
警告: php 中的 eval 什么时候是邪恶的?为什么它是邪恶的
我将打破“按规定回答问题”的模式,因为eval
它非常危险,我什至不会推荐使用它。
相反,将您的字符串更改为可识别的交换格式,例如JSON甚至XML。还是PHP的原生序列化格式...