如果我从 mysql(或其他)获得以下文本字符串,如何使用 PHP 将其转换为实际数组?
array("foo" => "bar","honey" => "pops")
我知道我可以将数组保存为序列化状态,但这正是我在这里要避免的。
如果我从 mysql(或其他)获得以下文本字符串,如何使用 PHP 将其转换为实际数组?
array("foo" => "bar","honey" => "pops")
我知道我可以将数组保存为序列化状态,但这正是我在这里要避免的。
使用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
答案是“不要这样做”。 永远不要把 PHP 代码放在你的数据库中。数据库用于数据,而不是代码。
正确的方法是存储一个序列化数组(不知道为什么要避免这种情况)。
您可以使用以下eval
功能:
http://php.net/manual/en/function.eval.php
尝试这样的事情:
$my_string = 'array("foo" => "bar","honey" => "pops")';
eval("\$result=$my_string;");