شرح صفوف ومحتوى الفقرة
يتيح تسلسل دوال المصفوفات التصريحية بناء خطوط معالجة بيانات موجزة وموثوقة تستخرج وتحول وتصفي وتلخص البيانات في بضعة أسطر.
- استخرج الأعمدة المطلوبة من السجلات المتداخلة أولاً عبر
array_column(). - حوّل القيم ونظفها عبر
array_map()، ثم احذف المدخلات الفارغة عبرarray_filter(). - احسب الإجماليات النهائية أو مرات التكرار باستخدام
array_sum()أوcount()أوarray_count_values().
يستخرج خط المعالجة عمود "coupon"، ويهذب النصوص ويحولها لأحرف كبيرة، ثم يحذف النص الفارغ ويحسب عدد مرات استخدام الكوبون "SAVE10".
| الدالة | المدخلات | المخرجات | حالة الاستخدام الأساسية |
|---|---|---|---|
array_column($rows, $col, $idx) | مصفوفة ثنائية من السجلات | مصفوفة أحادية أو فهرس بحث | استخراج عمود محدد أو فهرسة السجلات بالمعرف |
array_map($callback, $arr) | دالة تحويل + مصفوفة | مصفوفة جديدة محوَّلة | توحيد وتنسيق النصوص أو الأرقام لكل العناصر |
array_filter($arr) | مصفوفة | مصفوفة مصفاة مع حفظ المفاتيح | استبعاد القيم الفارغة أو غير المطابقة للشرط |
array_sum($arr) | مصفوفة رقمية | int | float | حساب المجموع الكلي للأرقام |
array_count_values($arr) | مصفوفة نصوص أو أعداد | مصفوفة ترابطية لعدد التكرارات | إحصاء عدد مرات ظهور كل قيمة |
PHP
<?php
$orders = [
["coupon" => " save10 ", "amount" => 80],
["coupon" => "", "amount" => 120],
["coupon" => "SAVE10", "amount" => 100],
];
$coupons = array_filter(array_map("strtoupper", array_map("trim", array_column($orders, "coupon"))));
$usage = array_count_values($coupons);
echo "Total Sales: $" . array_sum(array_column($orders, "amount")) . "\n";
echo "SAVE10 used: " . $usage["SAVE10"] . " times\n";
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
يتيح تسلسل دوال المصفوفات التصريحية بناء خطوط معالجة بيانات موجزة وموثوقة تستخرج وتحول وتصفي وتلخص البيانات في بضعة أسطر. استخرج الأعمدة المطلوبة من السجلات المتداخلة أولاً عبر array_column(). حوّل القيم ونظفها عبر array_map()، ثم احذف المدخلات الفارغة عبر array_filter(). احسب الإجماليات النهائية أو مرات التكرار باستخدام array_sum() أو count() أو array_count_values().