個別の役割: array_map、array_walk、および array_filter
array_map、array_walk、および array_filter はすべて、コールバック関数を渡して、
array_map は、配列要素の変換に優れています。コールバックの出力を、最大の入力配列と同じ長さの新しい配列にマップします。 array_walk とは異なり、array_map は元の配列の値を変更せずに維持します。
array_walk は配列要素をその場で変更することに特化しています。配列を反復処理して、各要素のコールバックを呼び出し、キーへのアクセスを可能にします。 array_walk は入力配列を直接変更しますが、array_map にはない機能があります。
array_filter は、コールバックの真偽チェックに基づいて要素を選択的に保持します。入力配列をプルーニングし、フィルターを通過した要素のみを含む新しい配列を作成します。 array_filter は、array_map とは異なりキーを保持しますが、array_walk とは異なり、元の配列を変更しません。
例:
<code class="php">$array = [2.4, 2.6, 3.5]; $mapResult = array_map('floor', $array); // Stays the same print_r($mapResult); // [2, 2, 3] array_walk($array, function (&$v, $k) { $v = floor($v); }); // Alters the array print_r($array); // [2, 2, 3] $filterResult = array_filter($array, function ($v) { return $v > 2.5; }); // Preserves keys print_r($filterResult); // [2.6, 3.5]</code>
以上が`array_map`、`array_walk`、および `array_filter` は配列操作技術においてどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。