ホームページ >バックエンド開発 >PHPチュートリアル >phpの配列関数array_walk()の使い方の詳しい説明

phpの配列関数array_walk()の使い方の詳しい説明

怪我咯
怪我咯オリジナル
2017-07-06 10:59:141159ブラウズ

関数array_walk(): 単一の配列コールバック関数---配列内の各メンバーにユーザー関数を適用します

コードは次のとおりです:

/*函数array_walk():单一数组回调函数---对数组中的每个成员应用用户函数 
* 1、语法:bool array_walk ( array &array, callback funcname [, mixed $userdata] ) 
* 2、描述:如果成功则返回 TRUE,失败则返回 FALSE 
* 3、注意事项: 
* 3.1、$funcname是用户自己 定义的回调函数,接受2个参数,第一个参数为数组$array的值,第二个参数为 
* 数组$array的键名,如果提供第三个参数$userdata,将作为第三个参数传递给回调函数$funcname 
* 3.2、使用回调函数可以直接更改数组各个单元的值,但更改各个键名是无效的 
* 3.3、该函数 不会受到 array 内部数组指针的影响。array_walk() 会遍历整个数组而不管指针 
* 的位置 
* 3.4、用户不应在回调函数中改变该数组本身,例如增加/删除单元,unset 单元等等,如果 array_walk() 
* 作用的数组改变了,则此函数的的行为未经定义,且不可预期。 
*/ 
$words=array("l"=>"lemon","o"=>"orange","b"=>"banana","a"=>"apple"); 
//定义一个回调函数,输出数组元素 
function words_print($value,$key,$prefix){ 
echo "$prefix:$key=>$value<br>\n"; 
} 
//定义一个回调函数直接改变元素的值 
function words_alter(&$value,$key){ 
$value=ucfirst($value); 
$key=strtoupper(key); 
} 
//输出元素的值 
array_walk($words,&#39;words_print&#39;,&#39;words&#39;); 
//改变元素的值 
array_walk($words,&#39;words_alter&#39;); 
echo "<pre class="brush:php;toolbar:false">"; 
print_r($words); 
echo "
";

実行時の効果は次のとおりです:
phpの配列関数array_walk()の使い方の詳しい説明

以上がphpの配列関数array_walk()の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。