私はそのような文字列を持っています:
$str = "array (
'from' => 'OK',
'to' => 'OK',
array (
'id' => 204847
),
)"
一致する配列を作成するにはどうすればよいですか?または、どうすればIDを取得できますか?
この文字列がユーザー入力でない場合、最も簡単な方法は を使用することeval
です。
eval('$myArray = '.$str.';');
ドキュメントからの重要な注意:
この
eval()
言語構造は、任意の PHP コードの実行を許可するため、非常に危険です。したがって、その使用は推奨されません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。
eval()
この文字列が信頼できることを確認する必要があると考えて、PHPの関数を使用できます..それでも、私はそれをお勧めしません:
ドキュメント: http://php.net/manual/en/function.eval.php
警告: PHP で eval が悪になるのはいつですか? なぜ悪なのか
eval
非常に危険であり、その使用を推奨することさえできないため、「提起された質問に答える」という型を破ります。
代わりに、文字列をJSONやXMLなどの認識されている交換形式に変更してください。またはPHPのネイティブのシリアル化形式...