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 cheat sheet הזה חינמי לגמרי, בלי צורך בהרשמה. שמרו אותו במועדפים וחזרו אליו בכל פעם שתצטרכו לבדוק פונקציית מחרוזת, פונקציית עזר למערכים או superglobal.
מה ההבדל בין == ל-=== ב-PHP?
== הוא השוואה רופפת: הוא ממיר את האופרנדים לטיפוס משותף לפני ההשוואה, ולכן 0 == "0" ואפילו 0 == "" יכולים להתנהג באופן מפתיע בין גרסאות. === הוא השוואה קפדנית: הוא מחזיר true רק כשהערכים שווים וגם מאותו טיפוס, ולכן 0 === "0" הוא false. העדיפו את === כדי להימנע מבאגים של המרת טיפוסים אוטומטית.מה הם מערכים אסוציאטיביים ב-PHP?
["name" => "Ada", "age" => 30]. ל-PHP יש טיפוס מערך יחיד שמשמש גם כרשימה מסודרת וגם כמפה של מפתח וערך, כך שניגשים לערכים לפי מפתח עם $user["name"] ועוברים עליהם עם foreach ($user as $key => $value).אפשר לתרגל PHP אונליין?
כן. פתחו את עורך האונליין של PHP כדי להריץ כל קטע קוד מדף העזר הזה בדפדפן, בלי שרת ובלי התקנה מקומית של PHP. כשתרצו מסגרת מסודרת, קורס ה-PHP האינטראקטיבי והחינמי של Coddy ייקח אתכם צעד אחר צעד ממשתנים ומערכים ועד פונקציות ו-OOP.
האם דף העזר הזה מתאים למתחילים?
כן. הוא מסודר מהנושאים הנפוצים ביותר (משתנים, מחרוזות, מערכים, בקרת זרימה) ועד המתקדמים (superglobals ו-OOP), כך שאפשר להשתמש בחלקים העליונים כבר מהיום הראשון ולהתקדם לשאר בהמשך.