将纯文本转换为数组

时间:2012-04-20 20:27:25

标签: php

如果我从mysql(或其他)获得以下文本字符串,我如何使用PHP将其转换为实际数组?

array("foo" => "bar","honey" => "pops")

我知道我可以将数组保存在序列化状态,但这正是我在这里要避免的。

3 个答案:

答案 0 :(得分:1)

使用eval,但这太危险了...... 我不建议您使用

$string = '$array = array("foo" => "bar","honey" => "pops");' ;
eval($string);
var_dump($array);

输出

array(2) {
    ["foo"]=>
    string(3) "bar"
    ["honey"]=>
    string(4) "pops"
}

建议

使用标准格式,例如

JSON http://php.net/manual/en/book.json.php

XML http://php.net/manual/en/book.simplexml.php

Serialized PHP http://php.net/manual/en/function.serialize.php

答案 1 :(得分:1)

答案是“不要这样做”。 从不将PHP代码放入数据库中。该数据库用于数据,而不是代码。

正确的方式是存储序列化数组(不确定为什么要避免这种情况)。

答案 2 :(得分:0)

您可以使用eval功能:

http://php.net/manual/en/function.eval.php

尝试这样的事情:

$my_string = 'array("foo" => "bar","honey" => "pops")';

eval("\$result=$my_string;");