PHP array_walk_recursive() 函数
实例
对数组中的每个元素应用用户自定义函数:
<?php function myfunction($value,$key) { echo "键 $key 的值是 $value 。<br>"; } $a1=array("a"=>"red","b"=>"green"); $a2=($a1,"1"=>"blue","2"=>"yellow"); array_walk_recursive($a2,"myfunction"); ?>
تعریف و استفاده
فونکشن array_walk_recursive() به هر عنصر آرایه اعمال میشود. در فونکشن، نام کلید و مقدار آرایه به عنوان پارامترها هستند.
این فونکشن با array_walk() تفاوت فونکشنها در این است که میتوانند آرایههای عمیقتری را عمل کنند (یک آرایه شامل آرایه دیگر).
structures
array_walk_recursive(array,myfunction,parameter...)
پارامترها | توضیحات |
---|---|
array | ضروری. آرایهای را مشخص میکند که باید تعیین شود. |
myfunction | ضروری. نام فونکشن تعریف شده کاربر را مشخص میکند. |
userdata,... | اختیاری. پارامترهای تعریف شده کاربر را مشخص میکند. شما میتوانید هر تعداد پارامتر را به این فونکشن منتقل کنید. |
توضیحات
با array_walk() فونکشن مشابه، فونکشن array_walk_recursive() به هر عنصر آرایه اعمال میشود. فرق این است که اگر عنصر آرایهای در آرایه اصلی نیز باشد، فراخوانیهای بازگشتی به صورت مرتبهای به لایههای عمیقتر آرایهها ادامه مییابد.
در شرایط معمول،myfunction دو پارامتر را میپذیرد.array مقدار پارامتر به عنوان اولین، نام کلید به عنوان دومین. userdata ، به عنوان سومین پارامتر به فراخوانیهای بازگشتی منتقل میشود.
اگر فراخوانیهای بازگشتی نیاز به تغییر مستقیم در مقادیر آرایه دارند، میتوانند اولین پارامتر فراخوانیهای بازگشتی را به عنوان مراجعه مشخص کنند، بنابراین هر تغییر در این واحدها باعث تغییر آرایه اصلی نیز خواهد شد.
جزئیات فنی
ارزش بازگشتی: | اگر موفق شود TRUE برمیگرداند، در غیر این صورت FALSE. |
نسخه PHP: | 5+ |