PHPサンプル
UPDATE:2017年03月29日
配列の各要素にユーザ関数を適用する
配列操作 配列の各要素にユーザ関数を適用する array_walk()
論理値 = array_walk(入力の配列, コールバック関数名 [,関数の3番目の引数]); //[]省略可能
配列の各要素にユーザ関数を適用する。成功すると「真(TRUE)」を返し、失敗すると「偽(FALSE)」を返します。
POINT
- コールバック定義関数の引数を2つ設定する。最初の引数は配列の値(&の参照渡しにすると配列の値そのものが変更される) 2番目の引数は配列のキー
- 配列の値そのものを変更する場合は、ユーザー定義関数の1番目の引数を「&$var」で参照渡しにする
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <!-- サンプルコード --> <h3>配列操作 配列の各要素にユーザ関数を適用する 配列の各要素に1加える</h3> <?php //関数作成 //数値に1を加える //引数を2つ設定する 最初の引数は配列の値(&の参照渡しにすると配列の値そのものが変更される) 2番目の引数は配列のキー function AddInt(&$item, $key){ $item++; } //配列作成 $ary = array(10, 20, 30, 40, 50); //適用前 foreach($ary as $key => $value){ print "●キー(\$key) : {$key} ●値(\$value) : {$value}<br>\n"; } //array_walk()で配列の各要素にAddInt()適用 if(array_walk($ary, 'AddInt')) echo "適用成功<br>\n"; else echo "適用失敗<br>\n"; //表示 echo "↓適用後<br>\n"; foreach($ary as $key => $value){ print "●キー(\$key) : {$key} ●値(\$value) : {$value}<br>\n"; } ?> <h3>配列操作 配列の各要素にユーザ関数を適用する 配列の各要素に英語訳加える</h3> <?php //関数作成 //数値に1を加える //引数を2つ設定する 最初の引数は配列の値(&の参照渡しにすると配列の値そのものが変更される) 2番目の引数は配列のキー function AddEn(&$item, $key){ if($key == '国') {$item = $item.'(country)';} if($key == '首都') {$item = $item.'(city)';} if($key == '人口') {$item = $item.'(population)';} } //配列作成 $ary = array('国' => '日本', '首都' => '東京', '人口' => '128,056,026人'); //適用前 foreach($ary as $key => $value){ print "●キー(\$key) : {$key} ●値(\$value) : {$value}<br>\n"; } //array_walk()で配列の各要素にAddInt()適用 if(array_walk($ary, 'AddEn')) echo "適用成功<br>\n"; else echo "適用失敗<br>\n"; //表示 echo "↓適用後<br>\n"; foreach($ary as $key => $value){ print "●キー(\$key) : {$key} ●値(\$value) : {$value}<br>\n"; } ?> |
実行結果
配列操作 配列の各要素にユーザ関数を適用する 配列の各要素に1加える
●キー($key) : 0 ●値($value) : 10
●キー($key) : 1 ●値($value) : 20
●キー($key) : 2 ●値($value) : 30
●キー($key) : 3 ●値($value) : 40
●キー($key) : 4 ●値($value) : 50
適用成功
↓適用後
●キー($key) : 0 ●値($value) : 11
●キー($key) : 1 ●値($value) : 21
●キー($key) : 2 ●値($value) : 31
●キー($key) : 3 ●値($value) : 41
●キー($key) : 4 ●値($value) : 51
●キー($key) : 0 ●値($value) : 10
●キー($key) : 1 ●値($value) : 20
●キー($key) : 2 ●値($value) : 30
●キー($key) : 3 ●値($value) : 40
●キー($key) : 4 ●値($value) : 50
適用成功
↓適用後
●キー($key) : 0 ●値($value) : 11
●キー($key) : 1 ●値($value) : 21
●キー($key) : 2 ●値($value) : 31
●キー($key) : 3 ●値($value) : 41
●キー($key) : 4 ●値($value) : 51
配列操作 配列の各要素にユーザ関数を適用する 配列の各要素に英語訳加える
●キー($key) : 国 ●値($value) : 日本
●キー($key) : 首都 ●値($value) : 東京
●キー($key) : 人口 ●値($value) : 128,056,026人
適用成功
↓適用後
●キー($key) : 国 ●値($value) : 日本(country)
●キー($key) : 首都 ●値($value) : 東京(city)
●キー($key) : 人口 ●値($value) : 128,056,026人(population)
タグ(=記事関連ワード)
日付
投稿日:2012年3月22日
最終更新日:2017年03月29日
最終更新日:2017年03月29日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsample-array-arywalk/trackback/