0

How can i convert this string

$str = "array('3'=>'wwm','1'=>'wom')";

to real php associative array...

4

3 回答 3

5

这很简单,但真的不安全

$str = "array('3'=>'www.tension.com','1'=>'www.seomeuo.com','requestedBy'=>'1')";
eval("\$array = $str;");

你永远不应该使用这种方法,还有其他方法可以做到这一点:serialize()unserialize()

于 2013-04-24T13:10:07.423 回答
3

您可以使用该eval()功能:

$str = "array('3'=>'wwm','1'=>'wom')";

eval("\$a=$str;");

var_dump($a);

但是,eval()在您的代码中使用被认为是有风险的,您不应该使用它。尝试使用serialize(),unserialize()代替。

于 2013-04-24T13:09:47.110 回答
1

首先。不要使用评估。这是邪恶的! http://af-design.com/blog/2010/10/20/phps-eval-is-evil/

第二。简单的解决方案不是使用此字符串,而只是在将其放入数据库时​​使用“序列化”并在将其拉出时取消序列化。您正在存储一种非常不寻常的格式。

于 2013-04-24T13:12:30.123 回答