توابع array_replace() PHP
مثال
برای جایگزینی مقادیر آرایه اولین با مقادیر آرایه دوم ($a2) استفاده شود:
<?php $a1=array("red","green"); $a2=array("blue","yellow"); print_r(array_replace($a1,$a2)); ?>
تعریف و استفاده
توابع array_replace() مقادیر آرایه بعدی را برای جایگزینی مقادیر آرایه اولین استفاده میکند.
توضیح:میتوانید یک آرایه یا چندین آرایه به تابع ارسال کنید.
اگر یک کلید در آرایه اول وجود دارد array1 همچنین در آرایه دوم وجود دارد array2آرایه اول array1 مقادیر آن با آرایه دوم جایگزینی میشود array2 مقادیر آن را جایگزینی میکند. اگر یک کلید تنها در آرایه اول وجود دارد array1، تغییر نمیکند. (جزئیات بیشتر در نمونه زیر 1)
اگر یک کلید در آرایه دوم وجود دارد array2، اما در آرایه اول وجود ندارد array1، اگر در آرایه اول وجود دارد array1 در اینجا این عنصر ایجاد میشود. (جزئیات بیشتر در نمونه زیر 2)
اگر چندین آرایه جایگزینی ارسال شد، آنها به ترتیب依次 پردازش میشوند، مقادیر آرایه بعدی مقادیر آرایه قبلی را پوشش میدهند. (جزئیات بیشتر در نمونه زیر 3)
توضیح:لطفاً از array_replace_recursive() برای استفاده مجدد به طور مرتبهای از مقادیر آرایه بعدی برای جایگزینی مقادیر آرایه اولین استفاده میشود.
جملات
array_replace(array1,array2,array3...)
پارامتر | توضیح |
---|---|
array1 | ضروری. تعیین آرایه. |
array2 | اختیاری. مشخص کردن موردی برای جایگزینی array1 مقادیر آرایه. |
array3,... | اختیاری. مشخص کردن چندین مورد برای جایگزینی array1 و array2، ... مقادیر آرایه. مقادیر آرایه بعدی مقادیر آرایه قبلی را پوشش میدهند. |
جزئیات فنی
بازگشت: | 返回被替换的数组,如果发生错误则返回NULL。 |
PHP版本: | 5.3.0+ |
更多实例
例子1
如果一个键存在于 array1 中同时也存在于 array2 中,第一个数组的值将被第二个数组中的值替换:
<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("a"=>"orange","burgundy"); print_r(array_replace($a1,$a2)); ?>
例子2
如果一个键仅存在于第二个数组中:
<?php $a1=array("a"=>"red","green"); $a2=array("a"=>"orange","b"=>"burgundy"); print_r(array_replace($a1,$a2)); ?>
例子3
使用三个数组 - 最后一个数组($a3)会覆盖之前的数组($a1和$a2):
<?php $a1=array("red","green"); $a2=array("blue","yellow"); $a3=array("orange","burgundy"); print_r(array_replace($a1,$a2,$a3)); ?>
例子4
使用数值键 - 如果一个键存在于第二个数组中单不在第一个数组中:
<?php $a1=array("red","green","blue","yellow"); $a2=array(0=>"orange",3=>"burgundy"); print_r(array_replace($a1,$a2)); ?>