PHP でループを使用せずに文字列を多次元配列に分割する
PHP で文字列を操作する場合、文字列を小さなチャンクに分割したり、特定のデータを抽出します。一般的なタスクの 1 つは、文字列を多次元配列に分割することです。これは、情報の整理と構造化に役立ちます。
質問:
「A」のような文字列を分割するにはどうすればよいですか? ,5|B,3|C,8" をループを使用せずに PHP の多次元配列に変換しますか?
解決策:
質問ではループを回避することを示唆していますが、文字列を分割します通常、何らかの反復が必要になります。ただし、PHP の組み込み関数を活用してプロセスを合理化することはできます。
次のコードを考えてみましょう:
<code class="php"><?php $str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a); ?></code>
このコードでは、array_map を使用し、explode を使用して、明示的に指定せずに目標を達成します。ループします。その仕組みは次のとおりです。
これにより、効果的に多次元配列が作成されます。各部分配列は次の結果になります。元の部分文字列をカンマで分割します。
結果の $a 変数には、次のような配列が含まれます:
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
このメソッドを使用すると、手動で記述することなく文字列を効率的に多次元配列に分割できます。ループします。
以上がPHP でループを使用せずに \"A,5|B,3|C,8\" のような文字列を多次元配列に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。