الفرق بين المراجعتين ل"PHP/array replace recursive"
ط (استبدال النص - 'PHP\/([^|-]*)-([^|-]*)-([^|-]*)' ب'PHP/$1_$2_$3') |
ط (استبدال النص - 'PHP\/([^|-]*)-([^|-]*)' ب'PHP/$1_$2') |
||
سطر 96: | سطر 96: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
− | * <code>[[PHP/ | + | * <code>[[PHP/array_replace|array_replace()]]</code>: استبدال عناصر المصفوفات المُمررة إلى المصفوفة الأولى. |
* <code>[[PHP/array_merge_recursive|array_merge_recursive()]]</code>: دمج مصفوفتين أو أكثر بشكل تكراري (recursively). | * <code>[[PHP/array_merge_recursive|array_merge_recursive()]]</code>: دمج مصفوفتين أو أكثر بشكل تكراري (recursively). | ||
مراجعة 03:47، 4 أبريل 2018
(PHP 5 >= 5.3.0, PHP 7)
تستبدل الدالة array_replace_recursive()
عناصر المصفوفات المُمررة إلى المصفوفة الأولى بشكل متكرر.
الوصف
array array_replace_recursive ( array $array1 , array $array2 [, array $... ])
تستبدل الدالة array_replace_recursive()
قيم array1
بنفس القيم من كل المصفوفات التالية. في حالة وجود مفتاح من المصفوفة الأولى في المصفوفة الثانية، فستُستبدل قيمته بقيمة المفتاح المقابل من المصفوفة الثانية. إذا كان المفتاح موجودًا في المصفوفة الثانية، وغير موجود في الأولى، فسيُنشأ في المصفوفة الأولى. إذا كان هناك مفتاح موجود فقط في المصفوفة الأولى، فسيُترك كما هو. إذا مررنا عدة مصفوفات لاستبدال، فستُعالج بالترتيب، وتكتب المصفوفة الأحدث فوق القيم السابقة.
الدالة array_replace_recursive()
دالة تكرارية: فهي تكرر التعامل مع المصفوفات وتطبق نفس العملية على القيمة الداخلية.
عندما تكون القيمة في array1
أوليّة (scalar) فستُستبدل بالقيمة في array2
التي قد تكون أوليةً أو مصفوفةً. وعندما تكون كلًا من القيمة في array1
و array2
مصفوفات، فستستبدل array_replace_recursive()
قيمتهما تكراريًا (recursively).
المعاملات
array1
المصفوفة التي يُستبدل العناصر فيها.
array2
المصفوفة التي يُستخرج منها العناصر.
...
اختياري. المزيد من المصفوفات التي يُستخرج منها العناصر.
القيم المعادة
إرجاع مصفوفة، أو القيمة NULL
في حالة حدوث خطأ.
أمثلة
المثال 1: مثال على الدالة array_replace_recursive()
<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));
$basket = array_replace_recursive($base, $replacements);
print_r($basket);
$basket = array_replace($base, $replacements);
print_r($basket);
?>
سوف تكون مُخرجات المثال أعلاه كالتالي:
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
)
)
المثال 2: مثال على الدالة array_replace_recursive()
والسلوك التكراري
<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');
$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>
سوف تكون مُخرجات المثال أعلاه كالتالي:
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
[others] => litchis
)
انظر أيضًا
array_replace()
: استبدال عناصر المصفوفات المُمررة إلى المصفوفة الأولى.array_merge_recursive()
: دمج مصفوفتين أو أكثر بشكل تكراري (recursively).