ホームページ > バックエンド開発 > PHPチュートリアル > あなたに適した PHP 配列関数は、array_map、array_walk、または array_filter のどれですか?

あなたに適した PHP 配列関数は、array_map、array_walk、または array_filter のどれですか?

Linda Hamilton
リリース: 2024-10-29 07:09:30
オリジナル
665 人が閲覧しました

Which PHP Array Function is Right for You: array_map, array_walk, or array_filter?

array_map、array_walk、array_filter の違いを理解する

PHP では、これら 3 つの関数が配列操作によく使用されます。コールバック関数を利用する点では類似点がありますが、特定の動作は異なります。

array_map:

  • 元の配列は変更できません。
  • 単一の配列を反復処理します。
  • 変換された値を含む新しい配列を返します。
  • 配列内の各要素に特定の操作を適用するのに役立ちます。

array_walk:

  • 元の配列を変更できます。
  • 単一の配列を反復します。
  • true のみを返します。
  • 配列キーへのアクセスや要素値の変更を必要とする操作の実行に役立ちます。

array_filter:

  • 述語関数に基づいて配列をフィルタリングします。
  • 配列キーを保持します。
  • フィルター条件を満たす要素のみを含む新しい配列を返します。

主な違い:

違いを説明するために、次の例を考えてみましょう:

<code class="php">$numbers = [2.4, 2.6, 3.5];

$map_result = array_map('floor', $numbers); // Round down each element
$walk_result = array_walk($numbers, function (&$v, $k) { $v = floor($v); }); // Round down each element in-place
$filter_result = array_filter($numbers, function ($a) { return $a > 2.5; }); // Filter out elements less than 2.5</code>
ログイン後にコピー

出力:

  • map_result: [2, 2, 3]
  • walk_result: true (戻り値なし)
  • filter_result: [2.6, 3.5]

ご覧のとおり、array_map は新しい変換された配列を作成しますが、array_walk元の配列を直接変更します。 array_filter は、指定された条件に基づいて元の配列のサブセットを返します。

結論として、array_map、array_walk、および array_filter は類似点を共有していますが、機能が異なり、さまざまなユースケースに最適です。適切な関数の選択は、当面のタスクの特定の要件によって異なります。

以上があなたに適した PHP 配列関数は、array_map、array_walk、または array_filter のどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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