פעולות מתמטיות בשפת PHP

פעולות מתמטיות בשפת PHP

  • פרסומת

פעולות מתמטיות

בשפת PHP ניתן לבצע פעולות מתמטיות בצורה קלה על ידי שימוש בסימנים המתמטיים שכולנו מכירים (וחלקם קצת שונים). להלן טבלה המציגה את הפעולות המתמטיות שניתן לעשות, ואת הסימנים המייצגים את אותה פעולה מתמטית בשפת PHP:

פעולה שם הסבר דוגמה
x + y חיבור הסכום של x ו- y 2 + 2 = 4
x – y חיסור ההפרש בין x ו- y 4 – 2 = 2
x * y כפל המכפלה של x ו- y 3 * 2 = 6
x / y חילוק המנה של x ו- y 6 / 2 = 3
x % y שארית השארית הנותרת לאחר חילוק של x ב- y 5 % 2 = 1
– x שליליות הפיכת x למספר המנוגד -(-6) = 6
x . y שרשור צירוף של שתי מחרוזות (מחרוזות בלבד) "he" . "llo" = "hello"
"2" . "3" = "23"

הסדר של הפעולות המתמטיות נעשה בדיוק כמו שלמדנו בבית הספר: כפל וחילוק קודמים לחיבור וחיסור. לגבי שאר הפעולות, הסדר קצת שונה. אתם מוזמנים להסתכל בטבלה המלאה של סדר הפעולות באתר הרישמי.

דרכי השמה

ההשמה בסיסית בשפת PHP נעשית בעזרת הסימן "=". זאת אומרת, המשתנה משמאל לסימן מקבל את הערך מימין לסימן, באופן הבא:

<?php 
$x = 5; 
$y = 7; 
$z = $x + $y; 
echo $z; 
?>

התוצאה:

12

אך יש דרך לבצע השמה תוך כדי ביצוע פעולה מתמטית. לדוגמה x += y יציב את המשתנה x כסכום של x ו- y. להלן הטבלה השלמה של דרכי ההשמה:

פעולה דרך מקוצרת הסבר
x = y x = y המשתנה x מקבל את הערך של y
x = x + y x += y x שווה לסכום של x ו- y
x = x – y x -= y x שווה להפרש בין x ו- y
x = x * y x *= y x שווה למכפלה של x ו- y
x = x / y x /= y x שווה למנה של x ו- y
x = x % y x %= y x שווה לשארית הנותרת לאחר חילוק של x ב- y
x = x . y x .= y x שווה לצירוף של המחרוזת x עם המחרוזת y

דוגמה:

<?php 
$x = 2; 
$x += 5; 
echo $x; // הפלט יהיה 7 
?>

הגדלות והקטנות

ניתן להגדיל או להקטין משתנה ב- 1 על ידי הוספה של הסימן פעמיים:

פעולה שם הסבר
++x הוספה לפני מגדיל את x ב-1 ואז מחזיר את x
x++ הוספה אחרי מחזיר את x ואז מגדיל אותו ב-1
–x הפחתה לפני מקטין את x ב-1 ואז מחזיר את x
x– הפחתה אחרי מחזיר את x ואז מקטין אותו ב-1

אז מה ההבדל בין הוספה לפני להוספה אחרי? להלן דוגמה שתמחיש לכם את העניין:

<?php 
$x = 0; 
$y = $x++; 
echo $x; // הפלט יהיה 1 
echo $y; // הפלט יהיה 0 

$x = 0; 
$y = ++$x; 
echo $x; // הפלט יהיה 1 
echo $y; // הפלט יהיה 1 
?>