array_walk()

PHPのarray_walk()関数は、配列の全ての要素のキーと値に、ユーザー定義関数を適用する組み込み関数。

定義

論理型 array_walk( 配列型 &$array, コールバック $funcname[, 多様な型 $userdata] );

パラメータ

配列型 &$array

コールバック関数を適用したい配列。

配列要素の値を、1つ目の引数として、配列要素のキーを、2つ目の引数として、コールバック関数に渡す。

コールバック $funcname

コールバック関数。

配列の要素に適用したいユーザー定義関数を指定する。

多様な型 $userdata

オプション。

コールバック関数に渡す3つ目の引数を指定できる。

戻り値

論理型。

成功すると「TRUE」、失敗すると「FALSE」を返す。

構文

配列の全ての要素のキーと値に、ユーザー定義関数を適用

論理値 = array_walk( 配列, コールバック関数 );

「配列」の全ての要素に、「コールバック関数」を適用。

「配列」の要素の値を、1つ目の引数、「配列」の要素のキーを、2つ目の引数として、「コールバック関数」に渡す。

配列の全ての要素のキーと値に、ユーザー定義関数を適用(追加引数)

論理値 = array_walk( 配列, コールバック関数, 追加引数 );

「配列」の全ての要素に、「コールバック関数」を適用。

「配列」の要素の値を、1つ目の引数、「配列」の要素のキーを、2つ目の引数、「追加引数」を3つ目の引数として、「コールバック関数」に渡す。

「追加引数」を、配列にすれば、複数の値を渡すこともできる。

サンプル

配列の全ての要素のキーと値に、ユーザー定義関数を適用

<?php
function printArray( $arg1, $arg2 ) {
    echo "{$arg2}: {$arg1}<br />";
}
$varArray = array( "白", "黒", "赤", "青", "緑" );
array_walk( $varArray, "printArray" );
?>

↓↓↓出力結果↓↓↓

0: 白
1: 黒
2: 赤
3: 青
4: 緑

配列の全ての要素のキーと値に、ユーザー定義関数を適用(追加引数)

<?php
function printArray( $arg1, $arg2, $arg3 ) {
    echo "{$arg3}{$arg2}: {$arg1}<br />";
}
$varArray = array( "白", "黒", "赤", "青", "緑" );
array_walk( $varArray, "printArray", "色" );
?>

↓↓↓出力結果↓↓↓

色0: 白
色1: 黒
色2: 赤
色3: 青
色4: 緑

連想配列の全ての要素のキーと値に、ユーザー定義関数を適用

<?php
function printArray( $arg1, $arg2 ) {
    echo "{$arg2}: {$arg1}<br />";
}
$varArray = array(
    "white" => "白",
    "black" => "黒",
    "red" => "赤",
    "blue" => "青",
    "green" => "緑"
);
array_walk( $varArray, "printArray" );
?>

↓↓↓出力結果↓↓↓

white: 白
black: 黒
red: 赤
blue: 青
green: 緑

連想配列の全ての要素のキーと値に、ユーザー定義関数を適用(追加引数)

<?php
function printArray( $arg1, $arg2, $arg3 ) {
    echo "{$arg3}: {$arg2}: {$arg1}<br />";
}
$varArray = array(
    "white" => "白",
    "black" => "黒",
    "red" => "赤",
    "blue" => "青",
    "green" => "緑"
);
array_walk( $varArray, "printArray", "色" );
?>

↓↓↓出力結果↓↓↓

色: white: 白
色: black: 黒
色: red: 赤
色: blue: 青
色: green: 緑

連想配列の全ての要素のキーと値に、ユーザー定義関数を適用(複数の追加引数)

<?php
function printArray( $arg1, $arg2, $arg3 ) {
    echo "{$arg3[0]}: {$arg2}: {$arg3[1]}: {$arg1}<br />";
}
$varArray = array(
    "white" => "白",
    "black" => "黒",
    "red" => "赤",
    "blue" => "青",
    "green" => "緑"
);
array_walk( $varArray, "printArray", array( "COLOR", "色" ) );
?>

↓↓↓出力結果↓↓↓

COLOR: white: 色: 白
COLOR: black: 色: 黒
COLOR: red: 色: 赤
COLOR: blue: 色: 青
COLOR: green: 色: 緑

連想配列の全ての要素のキーと値に、ユーザー定義関数を適用(参照渡し)

ユーザー定義関数に、配列要素の値を、参照渡しで受け渡すことにより、配列要素の値を変更することも可能。

<pre>
<?php
function editArray( &$arg1, $arg2 ) {
    $arg1 = "{$arg2}は、{$arg1}。";
}
$varArray = array(
    "white" => "白",
    "black" => "黒",
    "red" => "赤",
    "blue" => "青",
    "green" => "緑"
);
array_walk( $varArray, "editArray" );
print_r( $varArray );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [white] => whiteは、白。
    [black] => blackは、黒。
    [red] => redは、赤。
    [blue] => blueは、青。
    [green] => greenは、緑。
)

スポンサード リンク

カテゴリー: PHP, コールバック, 取得, 組み込み関数, 編集, 配列 タグ: パーマリンク