array_splice()
(PHP 4, PHP 5, PHP 7)
تُزيل الدالة array_splice()
جزءًا من المصفوفة وتستبدله بشيء آخر.
الوصف
array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed$replacement = array() ]] )
تزيل الدالةُ العناصرَ المُعيّنة عن طريق المعاملَيْن offset
وlength
من المصفوفة input
، ويستبدلها بعناصر المصفوفة replacement
، إذا تم توفيرها.
لاحظ أنه لا يُحتَفَظ بمفاتيح رقمية للمصفوفة input
.
ملاحظة: إذا لم يكن المعامل replacement
مصفوفةً، فسيعوَّض بواحد (على سبيل المثال array) $replacement)
). قد ينتج عن هذا سلوكٌ غير متوقع عند استخدام كائن أو الاستبدال بالقيمة NULL
.
المعاملات
input
المصفوفة المدخلة.
offset
إذا كان معامل الإزاحة offset
موجبًا، فإن إزاحة الجزء المُزال ستكون من بداية المصفوفة input
. أما إذا كان offset
سالبًا فإن الإزاحة ستبدأ من نهاية المصفوفة input
.
length
إذا حُذِفَ معامل الطول length
، فستزيل الدالة كل شيء بداية من offset
وحتى نهاية المصفوفة. وإذا كان length
محددًا وموجبًا ، فستُزيل هذا العدد من العناصر. وإذا كان length
محددًا وسالبًا، فستكون نهاية الجزء الذي يُزال هو عدد العناصر تنازليًا من نهاية المصفوفة. وإذا حُدِّدت قيمة المعامل length
وكان صفرًا، فلن يزال أي عناصر. نصيحة: لإزالة كل شيء من offset إلى نهاية المصفوفة وعندما تكون المصفوفة replacement
معرّفة أيضًا، فاستخدم count($input)
كقيمةٍ للمعامل length
.
replacement
إذا حُدِّدَت المصفوفة replacement
، فستستبدل العناصر التي أُزيلت بعناصر من هذه المصفوفة.
إذا كانت قيم المعاملَيْن offset وlength محدَدَيْن بحيث لا تزيل أي شيء، فستدرج العناصر من المصفوفة replacement
في المكان المحدد بواسطة المعامل offset
. لاحظ أن المفاتيح في مصفوفة الاستبدال لا تُحفظ.
إذا كان المعامل replacement
يُمثِّل عنصرًا واحدًا فقط، فليس من الضروري وضع array()
حوله، ما لم يكن العنصر عبارة عن مصفوفة بحد ذاته أو كائن أو NULL
.
القيم المعادة
تعيد الدالة مصفوفة مكونة من العناصر المستخرجة.
أمثلة
المثال 1: أمثلة على الدالة array_splice()
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// $input أصبحت الآن array("red", "green")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input أصبحت الآن array("red", "yellow")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// $input أصبحت الآن array("red", "orange")
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// $input أصبحت الآن array("red", "green",
// "blue", "black", "maroon")
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// $input أصبحت الآن array("red", "green",
// "blue", "purple", "yellow");
?>
المثال 2: أمثلة على الدالة array_splice()
الأمثلة التالية تغير قيم $input
بنفس الطريقة:
<?php
// إلحاق عنصرين إلى $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// إزالة آخر عنصرين من $input
array_pop($input);
array_splice($input, -1);
// أزل العنصر الأول من $input
array_shift($input);
array_splice($input, 0, 1);
// إدراج عنصر في بداية $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// استبدال القيمة في $inputعند المؤشر $x
$input[$x] = $y; // للمصفوفات عندما يساوي المفتاح الإزاحة
array_splice($input, $x, 1, $y);
?>
انظر أيضًا
- الدالة
array_slice()
: استخراج شريحة من المصفوفة. - الدالة
unset()
: إلغاء تعيين متغير معين. - الدالة
array_merge()
: دمج مصفوفة واحدة أو أكثر.