Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ورقة PHP المرجعية

آخر تحديث

Hello World والوسوم

كود PHP يعيش داخل وسوم <?php ... ?>؛ وكل ما هو خارجها يُرسَل كمخرجات عادية.

العمليةالصياغة
فتح / إغلاق PHP<?php ... ?>
طباعة نصecho "Hello, World!";
طباعة منسّقةprintf("%d items", $n);
echo مختصر (في HTML)<?= $name ?>
تعليق على سطر واحد// comment أو # comment
تعليق كتلة/* comment */
منهي العبارة;
تشغيل ملف (CLI)php index.php

المتغيرات والأنواع

المتغيرات تبدأ بـ $ وأنواعها ديناميكية.

العمليةالصياغة
تعريف متغير$name = "Ada";
ثابتconst PI = 3.14; أو define("PI", 3.14);
الأنواع القياسيةint, float, string, bool
Null$x = null;
فحص النوعgettype($x), is_int($x), is_array($x)
تحويل النوع(int) $str, (string) $num
وجود / تعيين المتغيرisset($x), empty($x)
استيفاء السلاسل النصيةecho "Hi $name";

السلاسل النصية

علامات الاقتباس المزدوجة تستوفي المتغيرات؛ والمفردة حرفية.

العمليةالصياغة
الدمج$a . $b
الطولstrlen($s)
الأحرف الكبيرة / الصغيرةstrtoupper($s), strtolower($s)
سلسلة فرعيةsubstr($s, 0, 5)
إيجاد الموضعstrpos($s, "x")
الاستبدالstr_replace("a", "b", $s)
التقسيم إلى مصفوفةexplode(",", $csv)
دمج مصفوفةimplode(",", $arr)
إزالة المسافاتtrim($s)
تنسيق سلسلة نصيةsprintf("%05.2f", $n)

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

نوع مصفوفة واحد يغطّي القوائم المفهرسة وخرائط المفتاح-القيمة معًا.

العمليةالصياغة
مصفوفة مفهرسة$nums = [1, 2, 3];
مصفوفة ترابطية$user = ["name" => "Ada", "age" => 30];
الوصول إلى عنصر$nums[0], $user["name"]
الإلحاق$nums[] = 4;
تعيين مفتاح$user["role"] = "admin";
الطولcount($nums)
فحص مفتاحisset($user["name"]), array_key_exists("name", $user)
إزالة عنصرunset($nums[1]);
دمج المصفوفاتarray_merge($a, $b)
التكرار key => valueforeach ($user as $k => $v) { ... }

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

الشروط والحلقات تتبع صياغة بنمط C.

العمليةالصياغة
If / elseif / elseif ($x > 0) { ... } elseif (...) { ... } else { ... }
الشرطي الثلاثي$y = $x > 0 ? "pos" : "neg";
دمج null$name = $_GET["name"] ?? "guest";
Switchswitch ($day) { case 1: ...; break; default: ... }
حلقة forfor ($i = 0; $i < 10; $i++) { ... }
حلقة whilewhile ($x < 100) { ... }
Foreachforeach ($items as $item) { ... }
تعبير match$r = match($x) { 1 => "one", default => "?" };
Break / continuebreak;, continue;

الدوال

يمكن للدوال أن تعلن الأنواع والقيم الافتراضية والمعاملات المتغيرة.

العمليةالصياغة
دالة أساسيةfunction add($a, $b) { return $a + $b; }
معاملات وقيمة إرجاع مكتوبة الأنواعfunction add(int $a, int $b): int { ... }
قيمة افتراضيةfunction greet($name = "guest") { ... }
معاملات متغيرةfunction sum(...$nums) { ... }
التمرير بالمرجعfunction inc(&$x) { $x++; }
دالة مجهولة الاسم$f = function($x) { return $x * 2; };
دالة سهمية$f = fn($x) => $x * 2;
استخدام متغير خارجيfunction() use ($n) { ... }

المتغيرات الفائقة

مصفوفات مدمجة متاحة في كل نطاق، غالبًا لبيانات الطلب.

المتغير الفائقما يحمله
$_GETمعاملات سلسلة الاستعلام من عنوان URL
$_POSTبيانات النموذج المرسلة عبر POST
$_REQUESTدمج $_GET و $_POST و $_COOKIE
$_SESSIONبيانات جلسة لكل مستخدم (بعد session_start())
$_COOKIEملفات تعريف الارتباط المرسلة من المتصفح
$_SERVERمعلومات الخادم والطلب (REQUEST_METHOD وغيره)
$_FILESبيانات وصفية للملفات المرفوعة
$_ENVمتغيرات البيئة

دوال المصفوفات الشائعة

تأتي PHP بمئات من مساعدات المصفوفات؛ وهذه هي الأكثر استخدامًا.

الدالةوظيفتها
array_map($fn, $arr)تحويل كل عنصر
array_filter($arr, $fn)الإبقاء على العناصر التي يكون فيها رد النداء true
array_reduce($arr, $fn, $init)الطيّ إلى قيمة واحدة
in_array($v, $arr)التحقق من وجود قيمة
array_keys($arr) / array_values($arr)الحصول على المفاتيح أو القيم
sort($arr) / rsort($arr)الترتيب في المكان (تصاعدي / تنازلي)
usort($arr, $cmp)الترتيب بمقارِن مخصّص
array_slice($arr, 1, 3)استخراج جزء
array_push($arr, $v) / array_pop($arr)الإضافة / الإزالة من النهاية

الأصناف والبرمجة الكائنية (OOP)

تدعم PHP الأصناف والوراثة والواجهات ومحدّدات الرؤية.

العمليةالصياغة
تعريف صنفclass User { ... }
خاصية مع رؤيةpublic string $name;
باني (constructor)function __construct($name) { $this->name = $name; }
ترقية البانيfunction __construct(public string $name) {}
إنشاء نسخة$u = new User("Ada");
الوصول إلى عضو$u->name, $u->save()
عضو ساكنUser::$count, User::create()
الوراثةclass Admin extends User { ... }
واجهةinterface Saveable { public function save(); }
تنفيذ واجهةclass User implements Saveable { ... }

صياغة PHP التي تستخدمها أكثر من غيرها، على صفحة واحدة. ورقة PHP المرجعية هذه هي مرجع سريع للّغة الأساسية - المتغيرات والأنواع، والسلاسل النصية، والمصفوفات (بما فيها المصفوفات الترابطية)، والتحكم في التدفق، والدوال، والمتغيرات الفائقة مثل $_GET و $_POST، والأصناف.

كل ما هنا هو PHP قياسية تعمل على الإصدارات الحديثة. انسخ ما تحتاجه، أو جرّب كل مقطع برمجي مباشرة في playground الخاص بـ PHP - دون الحاجة إلى إعداد أي خادم.

الأسئلة الشائعة حول ورقة PHP المرجعية

هل ورقة PHP المرجعية هذه مجانية؟
نعم. ورقة PHP المرجعية هذه مجانية تمامًا، دون الحاجة إلى التسجيل. أضِفها إلى المفضلة وارجع إليها متى احتجت إلى البحث عن دالة سلاسل نصية أو مساعد مصفوفات أو متغير فائق.
ما الفرق بين == و === في PHP؟
== هي المقارنة المرنة: تحوّل المعاملات إلى نوع مشترك قبل المقارنة، لذا قد تتصرّف 0 == "0" بل وحتى 0 == "" بشكل مفاجئ عبر الإصدارات. أمّا === فهي المقارنة الصارمة: تُرجع true فقط عندما تتساوى القيم وتكون من النوع نفسه، لذا 0 === "0" تساوي false. فضّل === لتجنّب أخطاء تلاعب الأنواع.
ما هي المصفوفات الترابطية في PHP؟
المصفوفة الترابطية هي مصفوفة PHP تستخدم مفاتيح نصية مسمّاة بدلًا من الفهارس الرقمية (أو إلى جانبها)، مثل ["name" => "Ada", "age" => 30]. تملك PHP نوع مصفوفة واحدًا يقوم بدور القائمة المرتّبة وخريطة المفتاح-القيمة معًا، لذا تصل إلى القيم بالمفتاح عبر $user["name"] وتتكرّر بـ foreach ($user as $key => $value).
هل يمكنني التدرّب على PHP عبر الإنترنت؟
نعم. افتح playground الخاص بـ PHP لتشغيل أيّ مقطع برمجي من هذه الورقة المرجعية في متصفحك - دون الحاجة إلى خادم أو تثبيت PHP محلي. وعندما ترغب في تعلّم منظّم، تأخذك دورة PHP التفاعلية المجانية من Coddy من المتغيرات والمصفوفات إلى الدوال والبرمجة الكائنية خطوة بخطوة.
هل هذه الورقة المرجعية مناسبة للمبتدئين؟
نعم. إنها مرتّبة من المواضيع الأكثر شيوعًا (المتغيرات والسلاسل النصية والمصفوفات والتحكم في التدفق) وصولًا إلى المتقدمة (المتغيرات الفائقة والبرمجة الكائنية)، بحيث يمكنك استخدام الأقسام العلوية من اليوم الأول والتدرّج إلى البقية.
Coddy programming languages illustration

تعلّم PHP مع Coddy

ابدأ الآن