0

mysql(またはその他)から次のテキスト文字列を取得した場合、PHPを使用して実際の配列に変換するにはどうすればよいですか?

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

配列をシリアル化された状態で保存できることはわかっていますが、それはまさにここで避けようとしていることです。

4

3 に答える 3

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

于 2012-04-20T20:30:44.130 に答える
1

答えは「これをしないでください」です。 PHPコードをデータベースに入れないでくださいデータベースはデータ用であり、コード用ではありません。

正しい方法は、シリアル化された配列を格納することです(なぜそれを避けたいのかわからない)。

于 2012-04-20T20:36:14.563 に答える
0

eval次の関数を使用できます。

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

次のようなものを試してください。

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

eval("\$result=$my_string;");
于 2012-04-20T20:30:46.867 に答える