فونکشن array_replace_recursive() در PHP

مثال

به صورت مرتبه‌ای از مقادیر دومین آرایه ($a2) برای جایگزینی مقادیر اولین آرایه ($a1) استفاده می‌کند:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>

مثال اجرایی

تعریف و استفاده

فونکشن array_replace_recursive() به صورت مرتبه‌ای از مقادیر آرایه‌های بعدی برای جایگزینی مقادیر آرایه‌های اولیه استفاده می‌کند.

توضیحات:می‌توانید یک آرایه یا چندین آرایه به فونکشن بفرستید.

اگر یک کلید در اولین آرایه array1 همچنین در دومین آرایه نیز وجود دارد array2در اولین آرایه array1 مقادیر آن جایگزین خواهند شد. array2 اگر یک کلید در دومین آرایه array1، بدون تغییر باقی خواهد ماند. array2، اما در اولین آرایه وجود ندارد array1، اما در اولین آرایه array1 در میان ایجاد این عنصر. اگر چندین آرایه جایگزین ارسال شوند، آنها به ترتیب مراحل قرار خواهند گرفت و مقادیر آرایه‌های بعدی مقادیر آرایه‌های قبلی را پوشش خواهند داد.

توضیحات:اگر برای هر آرایه‌ای یک کلید تعیین نشده باشد، رفتار این فونکشن مشابه با array_replace() فونکشن.

زبان

array_replace_recursive(array1,array2,array3...)
پارامترها توضیح
array1 لازم. آرایه‌ای مشخص کنید
array2 اختیاری. آرایه‌ای برای جایگزینی مشخص کنید array1 آرایه‌ای از مقادیر برای جایگزینی مشخص کنید
array3,... اختیاری. چندین آرایه برای جایگزینی مشخص کنید array1 و array2آرایه‌ای از مقادیر ... است. مقادیر آرایه‌های بعدی مقادیر آرایه‌های قبلی را پوشش می‌دهند.

جزئیات فنی

مقدار بازگشتی: آرایه‌ای که جایگزین شده را برمی‌گرداند، در صورت بروز خطا NULL برمی‌گرداند.
نسخه PHP: 5.3.0+

مثال‌های بیشتر

مثال 1

چندین آرایه:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

مثال اجرایی

مثال 2

تفاوت array_replace() و array_replace_recursive():

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>

مثال اجرایی