array_splice()‎

من موسوعة حسوب
< PHP
مراجعة 03:33، 4 أبريل 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'PHP/Types/array' ب'PHP/array')

(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()‎: دمج مصفوفة واحدة أو أكثر.

مصادر