מחרוזות (strings) בשפת PHP

מחרוזות (strings) בשפת PHP

  • פרסומת

מהי מחרוזת?

השימוש במחרוזות בשפת PHP (ובכל שפה אחרת) הוא נרחב ביותר. מחרוזת יכולה להכיל בתוכה תווים שונים כמו אותיות, מספרים וסימנים מיוחדים. באנגלית מחרוזת נקראת string.

הגדרת מחרוזת בשפת PHP

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

<?php 
$var1 = 'Hello World'; // גרשיים בודדים
$var2 = "Hello World"; // גרשיים כפולים
?>

בשביל לכתוב מחרוזת המכילה גרשיים בתוכה, יש להוסיף את הסימן \ לפני הגרשיים:

<?php 
$var = "Hello \"world\"!"; 
echo $var; // Hello "world"! יציג את הפלט 
?>

התוצאה:

Hello "World"!

בשפות תכנות רבות גרשיים בודדים משמשים לכתיבת תו בודד (character) בעוד גרשיים כפולים משמשים לכתיבת מחרוזות (string). בשפת PHP כאמור, שניהם מגדירים מחרוזות, אך יש הבדל בינהם: גרשיים בודדות מתעלמות מתווים מיוחדים, כגון \n או \t.

בנוסף, גרשיים כפולים יכולות להכיל משתנים בתוכן. לדוגמה:

<?php 
$var = 'World'; 
echo "Hello $var"; // Hello World 
?>

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

<?php
$var = <<<TEST 
This method allows you to write 
strings over multiple lines 
TEST; 
echo $var; 
?>

שימו לב שהתוצאה היא שורה אחת, משום שלא הגדרנו <br /> בין השורות:

This method allows you to write strings over multiple lines

כמה דברים חשובים לגבי שיטה זו:

  • המחרוזת חייבת להתחיל ב- <<< ואחריה מזהה כלשהו (לפי בחירתכם). במקרה שלנו זה TEST
  • בשביל לסיים את המחרוזת עלינו להשתמש באותו מזהה שבחרנו עם נקודה-פסיק מיד אחריו TEST;
  • הגדרת הסוף של המחרוזת חייבת להיות בשורה משלה, ללא כל רווח או סימן אחר.

חיבור בין מחרוזות

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

<?php 
$var1 = "Hello" . "World"; 
$var2 = $var1 . "!"; 
echo $var2; 
?>

התוצאה (שימו לב שהמילים מחוברות משום שאין רווחים במחרוזות):

HelloWorld!

פונקציות של מחרוזות

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

מציאת אורך המחרוזת עם strlen();

<?php 
$string = "WebDesk"; 
$length = strlen($string); 
echo $length; 
?>

התוצאה תהיה מספר התווים של המחרוזת – 7

מציאת המיקום של תו מסויים במחרוזת עם strpos();

ניתן למצוא את המיקום של תו מסויים (או מספר תווים) על ידי שימוש בפונקציה strpos();. אם הפונקציה תמצא את התו המבוקש, היא תחזיר את המיקום שלו מתחילת המחרוזת. אם התו לא קיים במחרוזת, היא תחזיר FALSE. לדוגמה:

<?php 
$email = "someone@webdesk.co.il"; 
$atpos = strpos($email, "@"); 
echo $atpos; 
?>

התוצאה תהיה המיקום של התו @ – 7