1. ホーム
  2. php

[解決済み] PHP で文字列を配列としてパースする

2022-02-16 09:31:46

質問

PHP初心者なのですが、適切な回答が見つかりませんでした。

$whatever = "array('Test','Blah')";
echo $parsed[2]; //This will be "Blah"

という変数を作りたいのですが $parsed を含む $whatever の値ですが、文字列ではなく有効な配列として扱われます。

このように周りの引用符を削除して配列を作ればいいことは承知しています。

$whatever = array('Test','Blah');

しかし、私が実際に取り組んでいるコードでは、このようなことはあり得ません。また、私の実際のコードでは、配列は多次元なので、文字の置き換えを伴うものはおそらく非現実的でしょうが、それが最良の選択肢であれば、私はそれを排除しません。

つまり、PHPで文字列を配列としてパースするためには、どのような方法があるのでしょうか?

どのように解決するのですか?

を使用します。 eval 関数を使用します。 http://php.net/manual/en/function.eval.php .

$whatever = "array('Test','Blah')";
$parsed = eval("return " . $whatever . ";");
echo $parsed[1]; //This will be "Blah"

を確認するように注意してください。 $whatever というのも、あらゆる PHP コードが実行される可能性があるからです。