PHP 開発では、多くの場合、コード ロジックで文字列と配列の変換を処理する必要があります。一般的なケースの 1 つは、中かっこで囲まれた文字列を PHP 配列に変換することです。この変換により、データをより簡単に操作できるようになります。この記事では、PHP で中括弧付き文字列を配列に変換する方法について説明します。
中括弧付き文字列は、中括弧 ({}) で囲まれた文字列であり、各キーと値のペアの前にコロン (:) が付いています。複数のキーと値のペアはカンマ (,) で区切られます。たとえば、中括弧付き文字列の例を次に示します。
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }";
中括弧付き文字列の形式は、JSON 形式とよく似ています。ただし、それらの間には重要な違いがあります。中括弧文字列ではキー名と文字列値を一重引用符 (') で囲む必要があるのに対し、JSON では一重引用符または二重引用符 ("" ) を使用できることです。
PHP では、eval() 関数を使用して中かっこ文字列を配列に変換できます。 eval() 関数は、PHP コードとして渡された文字列を実行します。そのため、中かっこで囲まれた文字列内の引用符をエスケープして文字列変数に入れ、その変数を eval() 関数に渡して変換を行うことでこれを実行できます。具体的な手順は次のとおりです。
以下は例です。
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }"; // 将单引号转义为双引号 $json = str_replace("'", "\"", $str); // 将字符串放到一个字符串变量中 $code = '$arr = ' . $json . ';'; // 使用eval()函数执行代码,得到数组 eval($code); print_r($arr);
コードの実行結果は次のとおりです。
Array ( [name] => John [age] => 25 [city] => New York )
$str = "{ 'name': 'John', 'age': 25, 'city': 'New York' }"; // 将单引号转义为双引号 $json = str_replace("'", "\"", $str); // 将字符串转换成JSON格式的字符串 $json_str = str_replace(" ", "", $json); // 使用json_decode()函数解析JSON字符串 $arr = json_decode($json_str, true); print_r($arr);
Array ( [name] => John [age] => 25 [city] => New York )
概要
この記事の内容では、中括弧付き文字列を配列に変換する方法を紹介しました。 eval() 関数にはセキュリティの問題があるため、変換には json_decode() 関数を使用することをお勧めします。どちらの方法を使用するかに関係なく、ブレース付き弦を扱うときは安全に注意する必要があります。
以上がPHPで中括弧付き文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。