PHP Cheat Sheet: דף עזר מהיר
עודכן לאחרונה
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) |
| מעבר על מפתח => ערך | foreach ($user as $k => $v) { ... } |
בקרת זרימה
תנאים ולולאות משתמשים בתחביר בסגנון C.
| פעולה | תחביר |
|---|---|
| If / elseif / else | if ($x > 0) { ... } elseif (...) { ... } else { ... } |
| אופרטור טרנרי | $y = $x > 0 ? "pos" : "neg"; |
| Null coalescing | $name = $_GET["name"] ?? "guest"; |
| Switch | switch ($day) { case 1: ...; break; default: ... } |
| לולאת for | for ($i = 0; $i < 10; $i++) { ... } |
| לולאת while | while ($x < 100) { ... } |
| Foreach | foreach ($items as $item) { ... } |
| ביטוי match | $r = match($x) { 1 => "one", default => "?" }; |
| Break / continue | break;, continue; |
פונקציות
פונקציות יכולות להגדיר טיפוסים, ערכי ברירת מחדל ופרמטרים משתנים (variadic).
| פעולה | תחביר |
|---|---|
| פונקציה בסיסית | function add($a, $b) { return $a + $b; } |
| טיפוסים לפרמטרים ולערך המוחזר | function add(int $a, int $b): int { ... } |
| ערך ברירת מחדל | function greet($name = "guest") { ... } |
| פרמטרים משתנים (variadic) | function sum(...$nums) { ... } |
| העברה לפי הפניה | function inc(&$x) { $x++; } |
| פונקציה אנונימית | $f = function($x) { return $x * 2; }; |
| פונקציית חץ | $f = fn($x) => $x * 2; |
| שימוש במשתנה חיצוני | function() use ($n) { ... } |
Superglobals
מערכים מובנים שזמינים בכל טווח (scope), בעיקר לנתוני הבקשה.
| Superglobal | מה הוא מכיל |
|---|---|
$_GET | פרמטרים של query string מה-URL |
$_POST | נתוני טופס שנשלחו ב-POST |
$_REQUEST | שילוב של $_GET, $_POST ו-$_COOKIE |
$_SESSION | נתוני session לכל משתמש (אחרי session_start()) |
$_COOKIE | עוגיות שהדפדפן שלח |
$_SERVER | מידע על השרת והבקשה (REQUEST_METHOD ועוד) |
$_FILES | מטא-נתונים של קבצים שהועלו |
$_ENV | משתני סביבה |
פונקציות מערך נפוצות
PHP מגיעה עם מאות פונקציות עזר למערכים; אלה סוסי העבודה.
| פונקציה | מה היא עושה |
|---|---|
array_map($fn, $arr) | המרה של כל איבר |
array_filter($arr, $fn) | שמירת האיברים שעבורם ה-callback מחזיר 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; |
| בנאי | 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 cheat sheet הזה הוא דף עזר מהיר לליבת השפה: משתנים וטיפוסים, מחרוזות, מערכים (כולל מערכים אסוציאטיביים), בקרת זרימה, פונקציות, משתני ה-superglobals כמו $_GET ו-$_POST, ומחלקות.
כל מה שכאן הוא PHP סטנדרטי שרץ בגרסאות מודרניות. העתיקו את מה שאתם צריכים, או נסו כל קטע קוד בזמן אמת בעורך האונליין של PHP, בלי להגדיר שרת.
שאלות נפוצות על ה-PHP cheat sheet
האם ה-PHP cheat sheet הזה חינמי?
מה ההבדל בין == ל-=== ב-PHP?
== הוא השוואה רופפת: הוא ממיר את האופרנדים לטיפוס משותף לפני ההשוואה, ולכן 0 == "0" ואפילו 0 == "" יכולים להתנהג באופן מפתיע בין גרסאות. === הוא השוואה קפדנית: הוא מחזיר true רק כשהערכים שווים וגם מאותו טיפוס, ולכן 0 === "0" הוא false. העדיפו את === כדי להימנע מבאגים של המרת טיפוסים אוטומטית.מה הם מערכים אסוציאטיביים ב-PHP?
["name" => "Ada", "age" => 30]. ל-PHP יש טיפוס מערך יחיד שמשמש גם כרשימה מסודרת וגם כמפה של מפתח וערך, כך שניגשים לערכים לפי מפתח עם $user["name"] ועוברים עליהם עם foreach ($user as $key => $value).