PHP では、URL パラメーターの解析や JSON データの解析などの操作のために、文字列を配列に変換する必要があることがよくあります。この記事では、PHP の関数を使用して文字列を配列に変換する方法を説明します。
explode() 関数は、指定された区切り文字に従って文字列を配列に分割できます。たとえば、カンマ区切りの文字列があり、explode() 関数を使用して配列に変換できます。
$str = "apple,banana,cherry"; $arr = explode(",", $str); print_r($arr);
出力は次のようになります。
Array ( [0] => apple [1] => banana [2] => cherry )
カンマに加えて、スペース、コロン、縦棒などの他の文字も区切り文字として使用できます。
正規表現を使用して文字列を分割する必要がある場合は、preg_split() 関数を使用できます。たとえば、URL パラメータに似た文字列があり、preg_split() 関数を使用して「&」と「=」に従って配列に分割できます:
$str = "name=John&age=30&gender=male"; $arr = preg_split("/[&=]/", $str); print_r($arr);
出力は次のとおりです:
Array ( [0] => name [1] => John [2] => age [3] => 30 [4] => gender [5] => male )
preg_split() 関数では、正規表現「/[&=]/」は、「&」または「=」に従って文字列を分割することを意味します。
str_split() 関数は、文字列を指定した長さの文字列に分割し、配列に格納できます。たとえば、文字列があり、str_split() 関数を使用して、その各文字を配列に保存できます。
$str = "Hello World"; $arr = str_split($str); print_r($arr);
出力は次のとおりです。
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => W [7] => o [8] => r [9] => l [10] => d )
ただし、それぞれの文字は次のとおりです。配列では、各文字列の長さを指定することもできます。たとえば、文字列を長さ 2 の文字列に分割します:
$str = "Hello World"; $arr = str_split($str, 2); print_r($arr);
出力結果は次のようになります:
Array ( [0] => He [1] => ll [2] => o [3] => Wo [4] => rl [5] => d )
JSON 形式の文字列を配列またはオブジェクトに変換する必要がある場合は、json_decode() 関数を使用できます。たとえば、JSON 形式の文字列があります:
{ "name": "John", "age": 30, "gender": "male" }
json_decode() 関数を使用して配列に変換できます:
$str = '{"name":"John","age":30,"gender":"male"}'; $arr = json_decode($str, true); print_r($arr);
出力結果は次のとおりです:
Array ( [name] => John [age] => 30 [gender] => male )
最初の 2 つのパラメータは true に設定する必要があることに注意してください。これは、JSON を連想配列に変換することを意味します。 false に設定すると、オブジェクトに変換されます。
URL パラメータに似た文字列を解析して配列にする必要がある場合は、parse_str() 関数を使用できます。たとえば、URL パラメータに似た文字列があります:
$str = "name=John&age=30&gender=male";
parse_str() 関数を使用して、それを連想配列に変換できます:
parse_str($str, $arr); print_r($arr);
出力は次のとおりです:
Array ( [name] => John [age] => 30 [gender] => male )
parse_str() 関数の最初のパラメータは解析する文字列で、2 番目のパラメータは解析結果を格納する配列の名前です。
概要
この記事では、PHP で文字列を配列に変換する 5 つの方法を紹介します。explode() 関数の使用、preg_split() 関数の使用、str_split() 関数の使用、および json_decode の使用です。 ( ) 関数の場合は、parse_str() 関数を使用します。状況に応じて方法を使い分けることで文字列を便利に扱うことができます。
以上がPHPの文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。