0

私はそのような文字列を持っています:

$str = "array (
   'from' => 'OK',
   'to' => 'OK',
   array (
      'id' => 204847
   ),
)"

一致する配列を作成するにはどうすればよいですか?または、どうすればIDを取得できますか?

4

3 に答える 3

3

この文字列がユーザー入力でない場合、最も簡単な方法は を使用することevalです。

eval('$myArray = '.$str.';');

ドキュメントからの重要な注意:

このeval()言語構​​造は、任意の PHP コードの実行を許可するため、非常に危険です。したがって、その使用は推奨されません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。

于 2012-11-14T10:43:57.490 に答える
2

eval()この文字列が信頼できることを確認する必要があると考えて、PHPの関数を使用できます..それでも、私はそれをお勧めしません:

ドキュメント: http://php.net/manual/en/function.eval.php

警告: PHP で eval が悪になるのはいつですか? なぜ悪なのか

于 2012-11-14T10:43:35.360 に答える
2

eval非常に危険であり、その使用を推奨することさえできないため、「提起された質問に答える」という型を破ります。

代わりに、文字列をJSONXMLなどの認識されている交換形式に変更してください。またはPHPのネイティブのシリアル化形式...

于 2012-11-14T10:47:21.687 に答える