関数・クラス解説

array_reduce

version:PHP 4 >= 4.0.5, PHP 5, PHP 7 (公式)

コールバック関数を用いて配列を普通の値に変更することにより、配列を再帰的に減らす

公式リファレンス

書式

array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed

callback ( mixed $carry , mixed $item ) : mixed

説明

array_reduce() は、配列 array の各要素に callback 関数を繰り返し適用し、 配列を一つの値に減らします。

パラメータ

array
入力の配列。
callback
carry
前回の反復処理の結果を保持します。最初の反復処理のときには、 initial の値を保持しています。
item
現在の反復処理の値を保持します。
initial
オプションの intial が利用可能な場合、処理の最初で使用されたり、 配列が空の場合の最終結果として使用されます。

返値

結果の値を返します。 配列が空で initial が渡されなかった場合は、 array_reduce() は NULL を返します。

サンプル

例1 array_reduce() の例

function sum($carry, $item) {     $carry += $item;     return $carry; } function product($carry, $item) {     $carry *= $item;     return $carry; } $a = array(1, 2, 3, 4, 5); $x = array(); var_dump(array_reduce($a, "sum")); // int(15) var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5 var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"

参考

  • array_filter() - コールバック関数を使用して、配列の要素をフィルタリングする
  • array_map() - 指定した配列の要素にコールバック関数を適用する
  • array_unique() - 配列から重複した値を削除する
  • array_count_values() - 配列の値の数を数える
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール