PHP Academy · درس

المصفوفات المفهرسة والارتباطية

أنشئوا كلا نوعي مصفوفات PHP واصلوا إليهما.

الدرس 1 من 413 خطوة

المصفوفات المفهرسة والارتباطية درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.

المصفوفات في PHP

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

  • المصفوفات المفهرسة — مفاتيح رقمية (0، 1، 2…)
  • المصفوفات الترابطية — مفاتيح نصية

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

استخدم صياغة المصفوفة المختصرة [] أو array():

<?php
$colors = ['red', 'green', 'blue'];    // short syntax
$nums   = array(10, 20, 30);            // long syntax

echo $colors[0]; // red
echo $nums[2];   // 30
echo count($colors); // 3

إضافة العناصر وإزالتها

أضف عنصرًا باستخدام [] وأزل عنصرًا باستخدام unset():

<?php
$items = ['a', 'b', 'c'];
$items[] = 'd';      // append
$items[] = 'e';

unset($items[1]);    // remove 'b'

print_r($items);
// [0=>'a', 2=>'c', 3=>'d', 4=>'e'] — index gap!

المصفوفات الترابطية

استخدم مفاتيح نصية لإنشاء بنية تشبه القاموس:

<?php
$person = [
    'name'  => 'Alice',
    'age'   => 30,
    'email' => 'alice@example.com',
];

echo $person['name'];   // Alice
$person['city'] = 'London';  // add new key
unset($person['email']);      // remove key

التحقق من وجود مفتاح

تحقق مما إذا كان مفتاح أو قيمة موجودًا في مصفوفة:

<?php
$config = ['debug' => false, 'version' => '2.0'];

var_dump(array_key_exists('debug', $config));  // true
var_dump(isset($config['debug']));             // false! debug=false, not NULL
var_dump(in_array('2.0', $config));            // true

‏array_key_exists مقارنةً بـ isset

تعيد isset() القيمة false للمفاتيح التي تحتوي على قيم NULL، بينما تعيد array_key_exists() القيمة true حتى مع قيم NULL:

<?php
$data = ['key' => null];

var_dump(isset($data['key']));              // false
var_dump(array_key_exists('key', $data));  // true

تفكيك المصفوفات

فكك المصفوفات إلى متغيرات باستخدام صياغة القائمة المختصرة:

<?php
$point = [10, 20, 30];
[$x, $y, $z] = $point;
echo "x=$x y=$y z=$z"; // x=10 y=20 z=30

// Skip elements
[, $second] = [1, 2, 3];
echo $second; // 2

دمج المصفوفات

ادمج المصفوفات باستخدام array_merge() أو عامل التفكيك:

<?php
$a = ['x' => 1, 'y' => 2];
$b = ['y' => 99, 'z' => 3];

$merged = array_merge($a, $b);
print_r($merged); // x=>1, y=>99 (b overwrites), z=>3

$union = $a + $b;
print_r($union);  // x=>1, y=>2 (a wins), z=>3

تقسيم المصفوفات

استخرج جزءًا من مصفوفة باستخدام array_slice():

<?php
$letters = ['a', 'b', 'c', 'd', 'e'];

$slice = array_slice($letters, 1, 3);
print_r($slice); // ['b', 'c', 'd']

$last2 = array_slice($letters, -2);
print_r($last2); // ['d', 'e']

عمليات المكدس والطابور

يمكن لمصفوفات PHP أن تعمل كمكدسات وطوابير:

<?php
$stack = [];
array_push($stack, 'a', 'b');
$top = array_pop($stack);  // 'b' — LIFO

$queue = ['first', 'second'];
array_push($queue, 'third');
$front = array_shift($queue);  // 'first' — FIFO

array_unshift($queue, 'zero'); // prepend

‏compact و extract

تنشئ compact() مصفوفة ترابطية من أسماء المتغيرات، بينما تنفذ extract() العملية العكسية:

<?php
$name = 'Alice';
$age  = 30;

$data = compact('name', 'age');
// ['name' => 'Alice', 'age' => 30]

extract(['city' => 'London', 'country' => 'UK']);
echo $city;    // London
echo $country; // UK

تحقق سريع

ماذا تُرجع array_key_exists('key', $arr) عندما يكون المفتاح موجودًا لكن قيمته NULL؟

مراجعة: المصفوفات المفهرسة والترابطية

أساسيات مصفوفات PHP:

  • تستخدم المصفوفات المفهرسة مفاتيح رقمية، بينما تستخدم المصفوفات الترابطية مفاتيح نصية
  • أضف عنصرًا باستخدام $arr[] = value
  • تحقق من المفاتيح باستخدام array_key_exists() وisset()
  • فكك المصفوفة باستخدام [$a, $b] = $arr
  • ادمج باستخدام array_merge() أو +، مع اختلاف قواعد الاستبدال
  • عمليات المكدس والطابور: push وpop وshift وunshift
البدء مجانًا

تعلم PHP مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
49
الدروس
195

الأسئلة الشائعة

هل درس «المصفوفات المفهرسة والارتباطية» مجاني؟

نعم — نص درس «المصفوفات المفهرسة والارتباطية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.

ماذا ستتعلم في «المصفوفات المفهرسة والارتباطية»؟

أنشئوا كلا نوعي مصفوفات PHP واصلوا إليهما. تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟

لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المصفوفات المفهرسة والارتباطية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟

نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المصفوفات المفهرسة والارتباطية
  2. المصفوفات متعددة الأبعاد
  3. فرز المصفوفات والبحث فيها
  4. دوال تحويل المصفوفات
← العودة إلى PHP Academy