امتحان PHP 1: المتغيرات، النصوص، والعمليات (10 تمارين مركبة)
امتحان PHP 1: أساسيات اللغة
اختبر مهاراتك في أساسيات PHP، بما في ذلك تعريف المتغيرات، الطباعة، والتعامل مع النصوص والأرقام.
تمرين 1
بناء الجملة والطباعة (Syntax & Echo)
اكتب كود PHP بسيط:
- افتح وسم PHP (`<?php`).
- استخدم `echo` لطباعة جملة "Hello World".
- أضف تعليقاً من سطر واحد يشرح الكود.
الحل
<?php
// طباعة جملة ترحيبية
echo "Hello World";
?>
تمرين 2
المتغيرات (Variables)
قم بتعريف المتغيرات التالية:
- متغير `$name` يحتوي على اسمك (نص).
- متغير `$age` يحتوي على عمرك (رقم صحيح).
- متغير `$price` يحتوي على سعر (رقم عشري 10.5).
- اطبع جملة "اسمي [الاسم] وعمري [العمر]".
الحل
<?php
$name = "أحمد";
$age = 25;
$price = 10.5;
echo "اسمي $name وعمري $age";
?>
تمرين 3
العمليات الحسابية (Arithmetic)
قم بإجراء العمليات التالية:
- عرف متغيرين `$x = 10` و `$y = 4`.
- اطبع ناتج الجمع.
- اطبع ناتج القسمة.
- اطبع باقي القسمة (Modulus).
الحل
<?php
$x = 10;
$y = 4;
echo $x + $y; // 14
echo "<br>";
echo $x / $y; // 2.5
echo "<br>";
echo $x % $y; // 2
?>
تمرين 4
دوال النصوص (String Functions)
تعامل مع النص `$text = "Hello PHP"`:
- اطبع طول النص (strlen).
- اطبع عدد الكلمات في النص (str_word_count).
- اعكس النص (strrev).
- استبدل كلمة "PHP" بـ "World" (str_replace).
الحل
<?php
$text = "Hello PHP";
echo strlen($text); // 9
echo str_word_count($text); // 2
echo strrev($text); // PHP olleH
echo str_replace("PHP", "World", $text); // Hello World
?>
تمرين 5
الثوابت (Constants)
استخدم الثوابت:
- عرف ثابتاً باسم `SITE_NAME` وقيمته "My Website" (استخدم `define`).
- عرف ثابتاً آخر باسم `TAX_RATE` وقيمته 0.15 (استخدم `const`).
- اطبع قيمة الثابتين.
الحل
<?php
define("SITE_NAME", "My Website");
const TAX_RATE = 0.15;
echo SITE_NAME;
echo TAX_RATE;
?>
تمرين 6
أنواع البيانات (Data Types & Var_dump)
تحقق من أنواع البيانات:
- عرف متغيراً `$isActive = true`.
- عرف متغيراً `$scores = [10, 20]`.
- عرف متغيراً `$nothing = null`.
- استخدم `var_dump()` لطباعة نوع وقيمة كل متغير.
الحل
<?php
$isActive = true;
$scores = [10, 20];
$nothing = null;
var_dump($isActive);
var_dump($scores);
var_dump($nothing);
?>
تمرين 7
العمليات المنطقية (Logical Operators)
اختبر الشروط التالية (اطبع النتيجة):
- هل 10 أكبر من 5 **و** (AND) 5 أصغر من 2؟
- هل 10 تساوي 10 **أو** (OR) 5 تساوي 0؟
- ما هو نفي (NOT) القيمة `true`؟
الحل
<?php
var_dump(10 > 5 && 5 < 2); // bool(false)
var_dump(10 == 10 || 5 == 0); // bool(true)
var_dump(!true); // bool(false)
?>
تمرين 8
الزيادة والنقصان (Increment/Decrement)
تلاعب بقيمة المتغير:
- عرف `$count = 10`.
- قم بزيادته بواحد (`++`).
- قم بإنقاصه بواحد (`--`).
- أضف إليه 5 باستخدام (`+=`).
الحل
<?php
$count = 10;
$count++; // 11
$count--; // 10
$count += 5; // 15
echo $count;
?>
تمرين 9
دوال الرياضيات (Math Functions)
استخدم دوال الرياضيات الجاهزة:
- أوجد القيمة المطلقة (abs) للرقم -5.
- أوجد الجذر التربيعي (sqrt) للرقم 64.
- قرب الرقم 3.7 إلى أقرب عدد صحيح (round).
- ولد رقماً عشوائياً بين 1 و 100 (rand).
الحل
<?php
echo abs(-5); // 5
echo sqrt(64); // 8
echo round(3.7); // 4
echo rand(1, 100);
?>
تمرين 10
دمج HTML مع PHP
اكتب كوداً يدمج اللغتين:
- عرف متغيراً `$color = "red"`.
- اطبع وسم `<h1>` يحتوي على كلمة "مرحباً".
- اجعل لون النص في الـ h1 يأخذ قيمته من المتغير `$color` (style inline).
الحل
<?php
$color = "red";
?>
<h1 style="color: <?php echo $color; ?>">مرحباً</h1>