PHP の開発プロセスでは、配列内の値を再度配列に変換する必要がある状況によく遭遇します。たとえば、リクエストのパラメータには、同じパラメータ名に対応する値が複数存在する場合があり、この場合、それらの値を配列に変換して処理する必要があります。ここでは、PHP 配列の値を配列に変換するいくつかの方法を示します。
方法 1:explode() 関数
まず、以下に示すように、PHP でexplode() 関数を使用して文字列を配列に変換できます。このようにして、カンマ区切りの文字列を配列に変換でき、出力結果は次のようになります:
$str = "apple,banana,orange"; $arr = explode(",", $str); print_r($arr);
ただし、配列内の値がすでに配列である場合、explode() 関数を使用すると、それぞれが変換されます。値を配列の要素に挿入すると、不正確な結果が生じます。したがって、このメソッドは、配列内のすべての値が文字列である場合にのみ機能します。
方法 2: array_map() 関数
PHP の array_map() 関数を無名関数と組み合わせて使用すると、配列内の値を配列に変換できます。コードは次のとおりです。次のようになります。
Array ( [0] => apple [1] => banana [2] => orange )
このようにして、配列内の指定された文字で区切られたすべての文字列を部分配列に変換できます。出力結果は次のとおりです:
$arr = array("1,2,3", "4,5,6", "7,8,9"); $arr = array_map(function($item) { return explode(",", $item); }, $arr); print_r($arr);
方法 3: json_decode() 関数
最後に、PHP で json_decode() 関数を使用して、JSON 形式の文字列を配列に変換できます。コードは次のとおりです。
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) )
この方法で、JSON 形式の文字列を配列に変換できます。出力結果は次のとおりです。
$json_str = '["apple","banana","orange"]'; $arr = json_decode($json_str, true); print_r($arr);
もちろん、配列内の値が既に JSON 形式の文字列である場合は、このメソッドを変換に使用することもできます。
概要
上記の方法により、PHP 配列の値を次の処理ステップの配列に変換できます。ただし、配列内の値がすでに配列である場合は、上記の方法を使用して再変換しないでください。そうしないと、間違った結果が得られます。
以上がPHP配列の値を配列に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。