انتقل إلى محتوى الدرس

Collecting Arguments with Variadic Splat تجميع المعاملات المتغيرة في مصفوفة عبر ...$args

استقبل عدداً مرناً من المعاملات عبر معامل التجميع (...$args)، وفكك المصفوفات عند الاستدعاء، وتحقق من وجود الدوال بـ function_exists.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

إن وضع معامل النقاط الثلاث (...$items) قبل اسم المعامل ينشئ دالة ذات معاملات متغيرة تقبل صفراً أو أكثر من القيم وتجمعها تلقائياً داخل مصفوفة.

  • داخل جسم الدالة، يكون المتغير $items مصفوفة PHP عادية مرقمة من الصفر تحتوي على كل القيم الممررة.
  • إذا لم يمرر المستدعي أي قيمة للمعامل المتغير، تكون قيمة $items مصفوفة فارغة [].
  • تُغني الصيغة الحديثة ...$items تماماً عن الدالة القديمة func_get_args().

يجمّع ...$prices كل الأرقام الممررة في مصفوفة واحدة لكي تحسب array_sum($prices) مجموعها أياً كان عددها.

مخطط توضيحي: محاكي المعاملات المتغيرة (...$args) والتمرير بالمرجع والدوال المتغيرة في PHP
PHP
<?php
function calculateTotal(...$prices) {
    return array_sum($prices);
}

echo "3 items : " . calculateTotal(19.99, 5.01, 25.00) . "\n";
echo "0 items : " . calculateTotal() . "\n";