ホームページ > バックエンド開発 > PHPチュートリアル > `array_map`、`array_walk`、および `array_filter` は配列操作技術においてどのように異なりますか?

`array_map`、`array_walk`、および `array_filter` は配列操作技術においてどのように異なりますか?

Barbara Streisand
リリース: 2024-11-03 04:22:03
オリジナル
970 人が閲覧しました

 How Do `array_map`, `array_walk`, and `array_filter` Differ in Their Array Manipulation Techniques?

個別の役割: 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 (&amp;$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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート