関数・クラス解説
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() で反復処理することはおすすめしません。
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール