الفرق بين المراجعتين لصفحة: «PHP/array replace recursive»
Khaled-yassin (نقاش | مساهمات) أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:<code>array_replace_recursive()</code>}}</noinclude> (PHP 5 >= 5.3.0, PHP 7) تستبدل الدالة <code>array_replace_recursive()</cod...' |
لا ملخص تعديل |
||
سطر 28: | سطر 28: | ||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال على الدالة array_replace_recursive()<syntaxhighlight lang="php"> | المثال 1: مثال على الدالة <code>array_replace_recursive()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), ); | $base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), ); | ||
سطر 67: | سطر 67: | ||
) | ) | ||
</syntaxhighlight>المثال 2: مثال على الدالة array_replace_recursive() والسلوك التكراري<syntaxhighlight lang="php"> | </syntaxhighlight>المثال 2: مثال على الدالة <code>array_replace_recursive()</code> والسلوك التكراري<syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' ); | $base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' ); | ||
سطر 100: | سطر 100: | ||
== مصادر == | == مصادر == | ||
* [http://php.net/manual/en/function.array-replace-recursive.php صفحة الدالة | * [http://php.net/manual/en/function.array-replace-recursive.php صفحة الدالة array_replace_recursive في توثيق PHP الرسمي]. | ||
[[تصنيف:PHP]] | [[تصنيف:PHP]] | ||
[[تصنيف:PHP Function]] | [[تصنيف:PHP Function]] | ||
[[تصنيف:PHP Array]] | [[تصنيف:PHP Array]] |
مراجعة 03:09، 21 مارس 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).