تابع array_walk() در PHP
مثال
تابع تعریف شده توسط کاربر به هر عنصر آرایه اعمال میشود:
<?php function myfunction($value,$key) { echo "کلید $key دارای مقدار $value<br>"; } $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 The function requires more parameters than those provided, then each array_walk() call myfunction will always produce 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:The key name and 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); ?>