PHP プログラミングでは、文字列と配列が非常に重要な役割を果たします。データをより適切に処理するために、文字列を配列に変換する必要がある場合があります。この記事では、PHP 文字列を配列に変換する方法を詳しく説明します。
PHP 組み込み関数 explode()
を使用して文字列を分割できますexplode()
この関数は 2 つのパラメータを受け取ります。最初のパラメータは区切り文字を指定し、2 番目のパラメータは分離する文字列を指定します。次の例では、文字列をカンマで区切られた配列に変換します。
$str = 'apple,banana,cherry'; $arr = explode(',', $str); print_r($arr);
出力結果:
Array ( [0] => apple [1] => banana [2] => cherry )
固定長に従って文字列を配列に分割することに加えて、さらに、指定された長さに応じて文字列を配列に分割することもできます。現時点では、PHP 組み込み関数 str_split()
、str_split()
を使用できます。この関数は 2 つのパラメーターを受け取ります。最初のパラメーターは分離する文字列を指定し、2 番目のパラメーターは分離する文字列を指定します。パラメータは分離の長さを指定します。
$str = 'ABCDEFGHIJK'; $arr = str_split($str, 3); print_r($arr);
出力結果:
Array ( [0] => ABC [1] => DEF [2] => GHI [3] => JK )
文字列内の各文字を変換する必要がある場合が配列要素に変換されると、文字列変数を配列として直接使用して走査することができ、各文字は自動的に配列内の要素に変換されます。
$str = 'Hello World'; $arr = []; for($i = 0; $i < strlen($str); $i++) { $arr[] = $str[$i]; } 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 )
場合によっては、文字列内の値をキーと1対1に対応させた配列に変換する この際、array_map()
を利用することができます。
$str = 'a:1:{s:10:"product_id";s:2:"10";}'; $arr = array_map( function($val) { $temp = explode(':', $val); return str_replace(['"', ';'], '', $temp[1]); }, explode(';', $str) ); print_r($arr);
出力結果:
Array ( [0] => 1 [1] => 10 )
JSON 形式の文字列を配列に変換する必要がある場合は、 json_decode()
変換用関数。 json_decode()
この関数は 2 つのパラメーターを受け入れます。最初のパラメーターは JSON 形式の文字列で、2 番目のパラメーターはブール型で、オブジェクトに変換するか配列に変換するかを指定します。デフォルトはオブジェクトです。
$str = '{"name":"Jack", "age": 22, "gender": "male"}'; $arr = json_decode($str, true); print_r($arr);
出力結果:
Array ( [name] => Jack [age] => 22 [gender] => male )
まとめ
この記事では、PHP で文字列を配列に変換するための一般的な方法をいくつか紹介します。これには、指定された文字に従って文字列を配列に分割したり、分割したりする方法が含まれます。長さの区切りを配列に変換し、文字列内の各文字を配列要素に変換し、値を文字列内のキーに関連付けて配列に変換し、JSON 形式の文字列を配列に変換します。これらのメソッドは、PHP での日常的なプログラミングでよく使用されます。この記事が PHP プログラマーにとって役立つことを願っています。
以上がPHPの文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。