PHP array_walk() 函数
实例
对数组中的每个元素应用用户自定义函数:
<?php function myfunction($value,$key) { echo "The key $key has the value $value
"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
定义和用法
array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。
Note:您可以通过把用户自定义函数中的第一个参数指定为引用:&$value,来改变数组元素的值(参见实例 2)。
提示:如需操作更深的数组(一个数组中包含另一个数组),请使用 array_walk_recursive() ফাংশন。
সংজ্ঞা
array_walk(array,myfunction,userdata...)
পারামিটার | বর্ণনা |
---|---|
array | অপরিহার্য।একক নির্দিষ্ট করে। |
myfunction | অপরিহার্য।ব্যবহারকারীর কাস্টম ফাংশনের নাম। |
userdata,... | অপশনাল।ব্যবহারকারীর কাস্টম ফাংশনের পারামিটারকে নির্দিষ্ট করে।আপনি এই ফাংশনে অন্যান্য পারামিটারগুলিকে পাঠাতে পারেন。 |
ব্যাখ্যা
array_walk() ফাংশন একক এলিমেন্টকে কলব্যাক ফাংশনকে অ্যাপ্লাই করে।সফল হলে TRUE ফিরায়, অন্যথায় FALSE ফিরায়。
সাধারণ ক্ষেত্রে myfunction দুটি পারামিটার নিয়ে গ্রহণ করে。array পারামিটারের মান প্রথম, কী নাম দ্বিতীয়।যদি অপশনাল পারামিটার প্রদান করা হয় userdata এটি কলব্যাক ফাংশনকে তৃতীয় পারামিটার হিসাবে পাঠানো হবে。
if myfunction If the number of parameters required by the function is more than the number provided, then each array_walk() call myfunction will always generate an E_WARNING level error. These warnings can be suppressed by adding PHP's error operator @ before the array_walk() call or by using error_reporting().
Note:If the callback function needs to directly act on the values in the array, you can specify the first parameter of the callback function as a reference: &$value. (See example 3)
Note:to userdata passed to myfunction is a new feature added in PHP 4.0.
Technical Details
Return Value: | Returns TRUE if successful, otherwise FALSE. |
PHP Version: | 4+ |
More Examples
Example 1
Set a parameter:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","has the value"); ?>
Example 2
Change the value of an array element (note &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>