אתה נמצא כאן יסודות השפה  >>  פונקציות  >>  הגדרת פונקציה

הגדרת פונקציה

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

<?php
  function
/*המילה השמורה שבאמצעותה מצהירים
על הגדרת פונקציה.
*/
 func_name
/*שם הפונקציה.
צריך להיות שם חוקי כשל משתנה.
*/
($arg_1,$arg_2,...,$arg_n
/*ארגומנטים.
רשימת המשתנים בהם אנו שומרים
את הפרמטרים המועברים לפונקציה.
*/
)
  {
     ...
     function_body_statements;
     ...
/*גוף הפונקציה.
הקוד שאנו מבצעים
כאשר קוראים לפונקציה.
*/

  }
?>

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

<?php
  function func()
/*הגדרת פונקציה בשם func
שאינה מקבלת פרמטרים.
*/

  {
     echo "this is a function.";
/*גוף הפונקציה:
הדפסת מלל למסך.
*/

  }
  
  echo "calling to the function func():<BR>";
  func();
/*קריאה לפונקציה ששמה func,
ללא העברת פרמטרים לפונקציה.
*/

?>

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


תגובות בנושא

בעיה 01-11-02 10:01
 איתי
#549

לא ידעתי איפה בדיוק לרשום את זה אז רשמתי את זה פה...
איך אפשר להגדיר משתנה בתוך פונקציה, ולהשתמש בו מחוצה לה?
לדוגמה
<?
function cs($ptd,$title)
{
$ptd = "$ptd ".$title."<br>";
$ptext = "א";
}

$ptd = "ED";
$title = "S";
cs($ptd,$title);
echo "$ptext";
?>

אני רוצה שהecho "$ptext"; יעבוד..

משתנים בפונקציה 01-11-02 12:01
 אלי חן (מנהל)
#551

כל משתנה המוגדר בפונקציה כלשהי שייכת אך ורק לתחום ההגדרה של הפונקציה. למשל, אם יש לך משתנה X מחוץ לפונקציה, ובפונקציה עצמה אתה מגדיר משתנה X, אז המשתנה בפונקציה שייך רק לתחום ההגדרה של הפונקציה עצמה, והיא לא המשתנה X שהוגדר מחוץ לפונקציה. (דבר זה נקרא "תחום הגדרה").

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

הפונקציה גם יכולה להחזיר ערכים. ראה את הפרק - החזרת ערך.

Over loading 31-10-03 03:01
 אופיר
#1179

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

overlapping 31-10-03 17:01
 אלי חן (מנהל)
#1208

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

הפונקציה str_replace 02-11-05 13:01
 חנה אסודרי
#2644

מה הפונקציה str_replace מבצעת?
אילו פרמטרים מקבלת? ומה מחזירה הפונקציה?
תודה מראש

כיאלו... 06-12-09 13:00
 אלכס נוסינוב
#2841

כיאלו הארגמנטים שיהיה בפונקציה לא יהיו קשורים לאלה שמחוץ לפונקצייה?


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