我有一个名为$taxonomy_str
例如,echo $taxonomy_str
将显示:
array('relation' => 'AND',
array('taxonomy' => category,
'field' => 'id',
'terms' => array( 41, 42 ),
'operator' => 'IN'),
array('taxonomy' => geography,
'field' => 'id',
'terms' => array( 20, 29 ),
'operator' => 'IN')
)
我需要一种方法将带有数组语句的字符串转换为真实数组,如何使用PHP实现此目的?
感谢。
答案 0 :(得分:4)
您可以使用eval(),但如果您从用户输入中获取字符串,则确实不安全。
答案 1 :(得分:4)
一件有点微不足道的事情就是eval
:
eval('$foo = ' . $taxonomy_str . ';');
// $foo now contains the outer array
(来自评论)或许更好的形式:
$foo = eval('return ' . $taxonomy_str . ';');
这实际上执行$taxonomy_str
就好像它是源代码一样,因此作为输入提供的任何有效PHP都将运行。如果您要说,将$taxonomy_str
作为用户的输入,则存在一定程度的危险。
答案 2 :(得分:1)
您可以使用eval
功能。确保你的字符串是安全的,没有狡猾的东西。
答案 3 :(得分:1)
您可以使用eval()函数。有关更多信息,请参阅PHP官方文档