امتحان PHP 2: الشروط، الحلقات، والمصفوفات (10 تمارين مركبة)

امتحان PHP 2: التحكم في التدفق والمصفوفات

اختبر قدرتك على بناء منطق برمجي باستخدام الشروط والحلقات، والتعامل مع هياكل البيانات (المصفوفات).

تمرين 1 الجمل الشرطية (If/Else)

تحقق من الوقت:

  1. عرف متغيراً `$hour` يمثل الساعة (نظام 24).
  2. إذا كانت الساعة أقل من 12 اطبع "صباح الخير".
  3. إذا كانت بين 12 و 18 اطبع "مساء الخير".
  4. غير ذلك اطبع "تصبح على خير".
الحل
<?php
$hour = 14;

if ($hour < 12) {
    echo "صباح الخير";
} elseif ($hour < 18) {
    echo "مساء الخير";
} else {
    echo "تصبح على خير";
}
?>
تمرين 2 جملة التبديل (Switch)

حدد اللون المفضل:

  1. عرف متغيراً `$favColor`.
  2. استخدم `switch` للتحقق من قيمته.
  3. إذا كان "red" اطبع "أحمر"، "blue" اطبع "أزرق".
  4. الحالة الافتراضية (default) اطبع "لون آخر".
الحل
<?php
$favColor = "red";

switch ($favColor) {
    case "red":
        echo "أحمر";
        break;
    case "blue":
        echo "أزرق";
        break;
    default:
        echo "لون آخر";
}
?>
تمرين 3 حلقة التكرار (For Loop)

اطبع جدول الضرب للرقم 5:

  1. استخدم حلقة `for` من 1 إلى 10.
  2. في كل دورة، اطبع "5 * i = result".
الحل
<?php
for ($i = 1; $i <= 10; $i++) {
    $result = 5 * $i;
    echo "5 * $i = $result <br>";
}
?>
تمرين 4 حلقة التكرار (While Loop)

اطبع الأرقام الزوجية:

  1. عرف متغيراً `$x = 0`.
  2. استخدم حلقة `while` للاستمرار طالما `$x` أقل من أو يساوي 10.
  3. اطبع `$x` ثم زده بمقدار 2 في كل دورة.
الحل
<?php
$x = 0;
while ($x <= 10) {
    echo "$x <br>";
    $x += 2;
}
?>
تمرين 5 المصفوفات المفهرسة (Indexed Arrays)

تعامل مع قائمة سيارات:

  1. أنشئ مصفوفة `$cars` تحتوي على "Volvo", "BMW", "Toyota".
  2. اطبع العنصر الثاني في المصفوفة.
  3. اطبع عدد العناصر في المصفوفة (count).
الحل
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo $cars[1]; // BMW
echo count($cars); // 3
?>
تمرين 6 المصفوفات الترابطية (Associative Arrays)

خزن أعمار الأشخاص:

  1. أنشئ مصفوفة `$ages` حيث المفتاح هو الاسم والقيمة هي العمر.
  2. "Peter" => 35, "Ben" => 37, "Joe" => 43.
  3. اطبع عمر "Ben".
الحل
<?php
$ages = array("Peter" => 35, "Ben" => 37, "Joe" => 43);
echo "Ben is " . $ages['Ben'] . " years old.";
?>
تمرين 7 حلقة Foreach

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

  1. استخدم المصفوفة `$ages` من التمرين السابق.
  2. استخدم `foreach` لطباعة كل اسم وعمره (Key => Value).
  3. الصيغة: "Key is Value".
الحل
<?php
$ages = array("Peter" => 35, "Ben" => 37, "Joe" => 43);

foreach ($ages as $name => $age) {
    echo "$name is $age years old <br>";
}
?>
تمرين 8 المصفوفات متعددة الأبعاد (Multidimensional Arrays)

أنشئ مصفوفة لجدول بيانات:

  1. مصفوفة `$cars` تحتوي على مصفوفات فرعية.
  2. كل مصفوفة فرعية تحتوي على: الاسم، المخزون، والمبيعات.
  3. مثال: `array("Volvo", 22, 18)`.
  4. اطبع اسم السيارة الأولى ومخزونها.
الحل
<?php
$cars = array(
    array("Volvo", 22, 18),
    array("BMW", 15, 13)
);

echo $cars[0][0] . ": In stock: " . $cars[0][1];
?>
تمرين 9 ترتيب المصفوفات (Sorting Arrays)

رتب المصفوفات:

  1. لديك مصفوفة أرقام `$numbers = [4, 2, 8, 6]`.
  2. رتبها تصاعدياً (sort).
  3. رتبها تنازلياً (rsort).
  4. اطبع المصفوفة بعد كل عملية (print_r).
الحل
<?php
$numbers = [4, 2, 8, 6];

sort($numbers);
print_r($numbers);

rsort($numbers);
print_r($numbers);
?>
تمرين 10 التحكم في الحلقة (Break/Continue)

تحكم في تدفق الحلقة:

  1. في حلقة من 0 إلى 10.
  2. إذا كان الرقم 4، تخطاه (continue).
  3. إذا كان الرقم 8، أوقف الحلقة (break).
  4. اطبع الأرقام.
الحل
<?php
for ($x = 0; $x <= 10; $x++) {
    if ($x == 4) {
        continue;
    }
    if ($x == 8) {
        break;
    }
    echo "$x <br>";
}
?>
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن