PHPでウェブの世界と繋がろう!
menu
ホーム > PHPサンプル > 配列系 > 配列の各要素にユーザ関数を適用する

配列の各要素にユーザ関数を適用する

Pocket

サンプルコード sample code
配列操作 配列の各要素にユーザ関数を適用する array_walk()
論理値 = array_walk(入力の配列, コールバック関数名 [,関数の3番目の引数]);
//[]省略可能
配列の各要素にユーザ関数を適用する。成功すると「真(TRUE)」を返し、失敗すると「偽(FALSE)」を返します。
POINT

  • コールバック定義関数の引数を2つ設定する。最初の引数は配列の値(&の参照渡しにすると配列の値そのものが変更される) 2番目の引数は配列のキー
  • 配列の値そのものを変更する場合は、ユーザー定義関数の1番目の引数を「&$var」で参照渡しにする

サンプルコード

– サンプル Click Here ! –

<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) : 国 ●値($value) : 日本
●キー($key) : 首都 ●値($value) : 東京
●キー($key) : 人口 ●値($value) : 128,056,026人
適用成功
↓適用後
●キー($key) : 国 ●値($value) : 日本(country)
●キー($key) : 首都 ●値($value) : 東京(city)
●キー($key) : 人口 ●値($value) : 128,056,026人(population)

– サンプル Click Here ! –


タグ(=記事関連ワード)

タグ: , ,

日付

投稿日:2012年3月22日
最終更新日:2014年02月20日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpsample-array-arywalk/trackback/