JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
Startseite

الدرس 9 الموسع: المصفوفات (Arrays) في PHP

📘 الدرس 9: المصفوفات (Arrays) في PHP بشكل موسع


المصفوفات php

المصفوفات Arrays هي العمود الفقري لأي موقع ديناميكي. بدل ما تخزن كل قيمة في متغير مستقل، المصفوفة تخليك تجمع 100 قيمة وأكثر في متغير واحد وتتعامل معها بسهولة. كل نتيجة من قاعدة البيانات، كل قائمة منتجات، كل تعليقات المستخدمين = مصفوفة.

💡 ملاحظة: من PHP 5.4 تقدر تكتب المصفوفة بهذا الشكل المختصر: $arr = ["قيمة1", "قيمة2"]; بدل array("قيمة1", "قيمة2")

🔹 1. المصفوفة المفهرسة Indexed Array

مصفوفة ترقم عناصرها تلقائياً من 0، 1، 2، 3... وتستخدمها للقوائم البسيطة.

إنشاء مصفوفة مفهرسة:

<?php
$fruits = array("تفاح", "موز", "برتقال");
// أو بالطريقة المختصرة:
$fruits = ["تفاح", "موز", "برتقال"];

echo $fruits[0]; // تفاح
echo $fruits[1]; // موز
?>

مثال عملي: عرض جميع العناصر باستخدام foreach

<?php
$fruits = ["تفاح", "موز", "برتقال", "عنب"];

foreach($fruits as $fruit){
  echo "الفاكهة: $fruit <br>";
}
?>

الاستخدام في الموقع: عرض قائمة المنتجات، المقالات، التصنيفات، الصور في السلايدر.

🔹 2. المصفوفة الترابطية Associative Array

كل عنصر له مفتاح Key خاص فيه بدل الرقم. ممتازة لتخزين بيانات المستخدم أو إعدادات الموقع.

إنشاء مصفوفة ترابطية:

<?php
$user = array(
  "name" => "حسام",
  "age" => 25,
  "email" => "hossam@example.com",
  "country" => "اليمن"
);

echo $user["name"]; // حسام
echo $user["email"]; // hossam@example.com
?>

مثال عملي: عرض جميع القيم مع المفاتيح

<?php
foreach($user as $key => $value){
  echo ucfirst($key). " : ". $value. " <br>";
}
?>

الاستخدام في الموقع: عرض بيانات المستخدم، بيانات المنتج، إعدادات الموقع، بيانات الفاتورة.

🔹 3. المصفوفة متعددة الأبعاد Multidimensional Array

مصفوفة داخل مصفوفة. تستخدمها لجداول البيانات المعقدة.

مثال عملي: قائمة الطلاب

<?php
$students = array(
  array("name" => "أحمد", "age" => 20, "grade" => "A"),
  array("name" => "ليلى", "age" => 22, "grade" => "B"),
  array("name" => "خالد", "age" => 21, "grade" => "A+")
);

echo $students[0]["name"]; // أحمد
echo $students[1]["grade"]; // B
?>

عرض جميع العناصر بحلقة مزدوجة:

<?php
foreach($students as $student){
  echo "الاسم: ". $student["name"]. " - ";
  echo "العمر: ". $student["age"]. " - ";
  echo "التقدير: ". $student["grade"]. " <br>";
}
?>

الاستخدام في الموقع: جدول الطلاب، المنتجات مع المواصفات، سلة التسوق، نتائج الاستعلامات من قاعدة البيانات.

🔹 4. دوال مهمة للتعامل مع المصفوفات

الدالةالوظيفةمثال
count()عدد عناصر المصفوفةcount($arr)
array_push()إضافة عنصر لنهاية المصفوفةarray_push($arr, "قيمة")
array_pop()حذف آخر عنصرarray_pop($arr)
array_shift()حذف أول عنصرarray_shift($arr)
array_unshift()إضافة عنصر لبداية المصفوفةarray_unshift($arr, "قيمة")
array_keys()استخراج جميع المفاتيحarray_keys($arr)
array_values()استخراج جميع القيمarray_values($arr)
in_array()فحص إذا القيمة موجودةin_array("تفاح", $arr)
array_merge()دمج مصفوفتينarray_merge($arr1, $arr2)
array_reverse()عكس ترتيب المصفوفةarray_reverse($arr)
sort()ترتيب تصاعديsort($arr)
rsort()ترتيب تنازليrsort($arr)

مثال عملي شامل:

<?php
$colors = ["أحمر", "أزرق"];

// إضافة عنصر
array_push($colors, "أخضر");

// عدد العناصر
echo "العدد: ". count($colors). "<br>"; // 3

// حذف آخر عنصر
array_pop($colors);

// طباعة المصفوفة كاملة
print_r($colors); // Array ( [0] => أحمر [1] => أزرق )

// فحص إذا اللون موجود
if(in_array("أحمر", $colors)){
  echo "اللون موجود";
}
?>

🔹 5. دوال الترتيب والبحث المتقدم

<?php
$numbers = [5, 2, 9, 1, 7];

// ترتيب تصاعدي
sort($numbers);
print_r($numbers); // [1, 2, 5, 7, 9]

// ترتيب تنازلي
rsort($numbers);
print_r($numbers); // [9, 7, 5, 2, 1]

// دمج مصفوفتين
$arr1 = ["a", "b"];
$arr2 = ["c", "d"];
$merged = array_merge($arr1, $arr2);
print_r($merged); // ["a", "b", "c", "d"]
?>

🔹 6. مثال عملي: سلة تسوق بسيطة

هذا مثال يوضح كيف تستخدم المصفوفات في مشروع حقي:

<?php
$cart = [];

// إضافة منتجات للسلة
$cart[] = array("name" => "لابتوب", "price" => 3000, "qty" => 1);
$cart[] = array("name" => "ماوس", "price" => 50, "qty" => 2);
$cart[] = array("name" => "كيبورد", "price" => 100, "qty" => 1);

// حساب الإجمالي
$total = 0;
foreach($cart as $item){
  $subtotal = $item["price"] * $item["qty"];
  $total += $subtotal;
  echo $item["name"]. " - ". $subtotal. " ريال <br>";
}

echo "<strong>الإجمالي: $total ريال</strong>";
?>
نصيحة للمحترفين: استخدم var_dump($array) أو print_r($array) أثناء التطوير عشان تشوف محتوى المصفوفة بالكامل. مفيد جداً في تصحيح الأخطاء.
⚠️ خطأ شائع: محاولة الوصول لمفتاح غير موجود $arr["key"] يطلع Warning. استخدم isset($arr["key"]) قبل الوصول له.
💡 خلاصة الدرس:
1. استخدم المصفوفات المفهرسة للقوائم البسيطة
2. استخدم المصفوفات الترابطية للبيانات المنظمة
3. المصفوفات متعددة الأبعاد = جداول البيانات
4. تعلم 8 دوال أساسية: count, array_push, array_pop, foreach, in_array, array_merge, sort, array_keys

© جميع الحقوق محفوظة - مدونة الحسام | al-hassam.blogspot.com

author-img

حسام الفقيه

Kommentare
Keine Kommentare
Kommentar veröffentlichen
    NameE-MailNachricht