PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

array_walk - 配列の全ての要素にユーザー定義の関数を適用する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

array_walk

(PHP 4, PHP 5, PHP 7)

array_walk配列の全ての要素にユーザー定義の関数を適用する

説明

bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )

array 配列の各要素にユーザー定義関数 callback を適用します。

array_walk()array の内部配列ポインタに影響されません。array_walk() はポインタの位置に関わらず配列の全てに渡って適用されます。

パラメータ

array

入力の配列。

callback

通常、 callback は引数を二つとります。 array パラメータの値が最初の引数、 キー/添字は二番目の引数となります。

注意:

callback により配列の値そのものを変更する必要がある場合、 callback の最初の引数は 参照 として渡す必要があります。この場合、配列の要素に加えた変更は、 配列自体に対して行われます。

注意:

内部関数の多く (たとえば strtolower()) は、 期待しているよりも多い引数を受け取ると警告が発生します。 そのため、callback に直接指定することはできません。

変更される可能性があるのは配列の値だけであり、 その構造を変更することはできません。つまり、 プログラマは要素の追加や削除そして並べ替えなどができないということです。 コールバック関数がこの条件を満たさない場合は、 この関数の動作は未定義で予期せぬ結果を得ることになります。

userdata

オプションの userdata パラメータが指定された場合、 コールバック関数 callback への三番目の引数として渡されます。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

エラー / 例外

callback 関数が、指定された引数より多いパラメータを必要とする 場合、array_walk()callback をコールする度にエラーレベル E_WARNING が 発生します。

例1 array_walk() の例

<?php
$fruits 
= array("d" => "lemon""a" => "orange""b" => "banana""c" => "apple");

function 
test_alter(&$item1$key$prefix)
{
    
$item1 "$prefix$item1";
}

function 
test_print($item2$key)
{
    echo 
"$key$item2<br />\n";
}

echo 
"Before ...:\n";
array_walk($fruits'test_print');

array_walk($fruits'test_alter''fruit');
echo 
"... and after:\n";

array_walk($fruits'test_print');
?>

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

Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

参考

  • array_walk_recursive() - 配列の全ての要素に、ユーザー関数を再帰的に適用する
  • iterator_apply() - ユーザー関数をイテレータのすべての要素でコールする
  • list() - 配列と同様の形式で、複数の変数への代入を行う
  • each() - 配列から現在のキーと値のペアを返して、カーソルを進める
  • call_user_func_array() - パラメータの配列を指定してコールバック関数をコールする
  • array_map() - 指定した配列の要素にコールバック関数を適用する
  • callback 型に関する情報
  • foreach


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「array_walk - 配列の全ての要素にユーザー定義の関数を適用する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | array_walk - 配列の全ての要素にユーザー定義の関数を適用する」をGoogle検索
copyright © 1997-2020 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: