関数・クラス解説

each

version:PHP 4, PHP 5, PHP 7 (公式)

配列から現在のキーと値のペアを返して、カーソルを進める

公式リファレンス

書式

each ( array &$array ) : array

説明

配列から現在のキーと値のペアを返して、カーソルを進めます。

each() を実行した後、配列カーソルは、 配列の次の要素に移動します。配列の最終要素にカーソルがある場合は、 最終要素にとどまります。再度 each を使用して配列を走査するには、 reset() を使用する必要があります。

パラメータ

array
入力の配列。

返値

配列 array から現在のキーと値のペアを返します。 このペアは 4 つの要素を持つ配列で、 それぞれの要素は 0, 1, key, value というキーを有しています。 要素 0とkey の各々は配列要素のキー名称を保持しており、1 と value の各々はそのデータを保持しています。 配列の内部ポインタが配列の最終要素以降を指す場合、 each() は FALSE を返します。

注意

警告この関数は PHP 7.2.0 で非推奨になります。この関数に頼らないことを強く推奨します。

サンプル

例1 each() の例

$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese"); $bar = each($foo); print_r($bar);

$bar は、ここでは以下のキー/値のペアを保持しています。

Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 ) $foo = array("Robert" => "Bob", "Seppo" => "Sepi"); $bar = each($foo); print_r($bar);

$bar は次のようなキー/値のペアを持つようになります。

Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )

通常 each() は、配列の走査をするために list() と共に使用します。 例えばこのようになります。

例2 each() によって配列を走査する

$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry'); reset($fruit); while (list($key, $val) = each($fruit)) {     echo "$key => $val\n"; }

上の例の出力は以下となります。

a => apple b => banana c => cranberry 警告

配列を他の変数に代入すると、もとの配列の内部ポインタがリセットされます。 そのため、上の例のループ内で $fruit を他の変数に代入すると、無限ループを引き起こしてしまいます。

警告

each() をオブジェクトに対して使用することもできますが、 予期せぬ結果を返すことになるかもしれません。 オブジェクトのプロパティを each() で反復処理することはおすすめしません。

参考

  • key() - 配列からキーを取り出す
  • list() - 配列と同様の形式で、複数の変数への代入を行う
  • current() - 配列内の現在の要素を返す
  • reset() - 配列の内部ポインタを先頭の要素にセットする
  • next() - 配列の内部ポインタを進める
  • prev() - 内部の配列ポインタをひとつ前に戻す
  • foreach
  • オブジェクトのイタレーション
  • ワード検索


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

    関数名アルファベット別

    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用の拡張モジュール