אתה נמצא כאן יסודות השפה  >>  פונקציות  >>  החזרת ערך

החזרת ערך

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

<?php
  function number($num)
/*הפונקציה מחזירה מחרוזת שמתארת את הארגומנט שקיבלה.
הפונקציה מסתיימת מייד לאחר החזרת הערך.
*/

  {
     if ($num>0)
        return "number $num is positive.";
     if ($num<0)
        return "number $num is negative.";
     return "number $num is zero.";
  }
  
  echo number(3);
  echo "<BR>\n";
  echo number(0);
?>


תגובות בנושא

יכול להיות שאני טועה... 02-11-01 14:02
 לירן
#25

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

לא צריך if שלישי 02-11-01 15:01
 אלי חן (אדמין)
#26

הפונקציה בדוגמא לא תחזיר תמיד את ה-return השלישי. כאשר אחד מ-2 ה-if-ים הוא נכון, אז הפונקציה מחזירה את ה-return של אותו תנאי, וכאשר מחזירים ערך מפונקציה, אז הפונקציה מסתיימת בדיוק שם.
לכן, אם נחזיר למשל את ה-return הראשון, אנו נסיים את הפונקציה מייד לאחר מכן, ולא נבדוק את ה-if השני ובטח שלא נגיע ל-return השלישי.
בסה"כ, צריך להבין שכאשר מחזירים ערך מפונקציה, אז הפונקציה מסתיימת בדיוק לאחר פקודת ה-return, ולא ממשיכה הלאה.

ללירן... 01-12-03 06:02
 אסף
#665

אתה מיתכוון שאפשר לעשות ככה...
<?php
function number($num)
{
if ($num>0)
return "number $num is positive.";
if ($num<0)
return "number $num is negative.";
if ($num==0)
return "number $num is zero.";
}

echo number(-1);
echo "<BR>n";
echo number(0);
?>

זה יוצא אותו דבר אבל זה לא משנה....
ותנסה אפילו להציב בימקום אפס ותירא שזה לא משנה

האם אפשר לראות דוגמא עם החזר by reference 01-11-05 15:02
 רונן גוטנמכר
#2635

הייתי רוצה לראות דוגמא להחזר by reference

לגבי הבחינה של פרק זה 03-12-07 11:01
 סחר חורי
#2754

לא הבנתי למה במבחן בשאלה מספר 2 התשובה היא הערך NULL ?????תודה


לדף הקודםארגומנטים -הקודם
לתחילת הדףלתחילת הדף
הבא- שם פונקציה משתנהלדף הבא