הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 14-08-07, 23:05   # 1
inTouch
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
הודעות: 82

inTouch לא מחובר  

[שאלה] פונקציות בPHP

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

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

אשמח לקבל תשובה עם דוגמאות.
תודה מראש ולילה טוב לכולם .
  Reply With Quote
ישן 14-08-07, 23:11   # 2
O-B
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בבית
גיל: 35
הודעות: 1,423
שלח הודעה באמצעות ICO אל O-B

O-B לא מחובר  

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

לדוגמה..
PHP קוד:
functon last_week ($time) {
return 
$time-604800;

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

השימוש:
PHP קוד:
$atime();
$last_w last_week($a); 
המשתמנה last_w יקבל את הערך שהפונקציה מחזירה..
__________________
בברכה עובד, מפתח אתרים.
  Reply With Quote
ישן 14-08-07, 23:21   # 3
inTouch
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
הודעות: 82

inTouch לא מחובר  

ובecho תכתוב $last_w כן?
וראיתי גם פונקציות ללא return, תוכל להסביר לי בבקשה בנוגע אליהן?
  Reply With Quote
ישן 14-08-07, 23:23   # 4
Tomer
Whatever
 
Tomer's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 7,039
שלח הודעה באמצעות MSN אל Tomer Send a message via Skype™ to Tomer

Tomer לא מחובר  

return כעיקרון עוצר את הקוד ומחזיר את מה שאתה אומר לו.

לדוגמא:

PHP קוד:
function abcd($x) {
if (
$x == 1) return "this is one";
echo 
"hey";
}

$y abcd("1");
echo 
$y
יחזיר this is one ולא יבצע את ה echo השני.
__________________
תומר
  Reply With Quote
ישן 14-08-07, 23:30   # 5
inTouch
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
הודעות: 82

inTouch לא מחובר  

"return כעיקרון עוצר את הקוד ומחזיר את מה שאתה אומר לו."
הכוונה מחזיר כשאתה קורא לפונקצייה?
ועוצר כמו break ולא ממשיך לקרוא את שאר התכנים של הפונקצייה?

שאלה אחרונה:
$y = abcd("1");
הערך שבסוגריים זה בעצם הערך שמקבל המשתנה $x?


תודה רבה על העזרה.

Last edited by inTouch; 15-08-07 at 00:23..
  Reply With Quote
ישן 15-08-07, 04:15   # 6
DCB
חבר על
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 966

DCB לא מחובר  

הנה שני פונקציות פשוטות ביותר שכתבתי לך אחת מחזירה ערך ואחת לא...
תקרא אותן טוב ותקרא את ההערות בתקווה שתבין מההסבר הזה.

דוגמא לפונקציה שמחזירה ערך
PHP קוד:
function printOut($x){ // הגדרנו פונקציה בשם printOut והיא מקבלת משתנה בשם x
   
if($x == true// אם x הוא אמת תחזיר This is true ותצא מהפונקציה
      
return "This is true!";
   return 
"This is wrong!"// אם התנאי לא התגשם תחזיר This is wrong ותצא מהפונקציה
}

echo 
printOut(true); // ידפיס אמת כי שלחנו לפונקציה שx הוא אמת
echo printOut(false); // ידפיס שקר כי שלחנו לפונקציה שx הוא שקר

$y printOut(true); // המשתנה y שווה את מה שהפונקציה מחזירה לו במקרה זה אמת כי שלחנו לפונקציה אמת
echo $y// ידפיס את תכולתו של המשתנה y, ידפיס אמת כי לפני רגע פנינו לפונקציה והיא החזירה אמת

$y prinOut(false); // המשתנה y שווה את מה שהפונקציה מחזירה לו במקרה זה שקר כי שלחנו לפונקציה שקר
echo $y// ידפיס את תוכלתו של המשתנה y, ידפיס שקר כי לפני רגע פנינו לפונקציה והיא החזירה שקר 

דוגמא לפונקציה שלא משתמשת בפונקציה return:
PHP קוד:
function printOut($x){ // הגדרנו פונקציה בשם printOut והיא מקבלת משתנה בשם x
   
if($x == true// אם x הוא אמת תדפיס This is true ותמשיך בפונקציה
      
echo "This is true!";
   echo 
"This is wrong!"// אם התנאי לא התגשם תדפיס This is wrong ותמשיך הלאה
}

printOut(true); // ידפיס This is true ומיד אחרי כן ידפיס This is wrong מאחר ולא אמרנו לפונקציה לעצור
printOut(true); // ידפיס This is wrong בלבד מאחר והתנאי הראשון לא מתגשם והפונקציה ממשיכה הלאה

$y printOut(true); // לא יתן לנו כלום מאחר והפונקציה לא מחזירה למשתנה שום דבר
$y prinOut(false); // לא יתן לנו כלום מאחר והפונקציה לא מחזירה למשתנה שום דבר 
שים לב שבדוגמא השנייה לא השתמשתי בecho לפונקציה מאחר והפעולה מתבצעת בתוך הפונקציה
  Reply With Quote
ישן 15-08-07, 13:15   # 7
inTouch
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
הודעות: 82

inTouch לא מחובר  

דוגמאות טובות, תודה רבה.
את הקוד הראשון הבנתי.
בנוגע לקוד השני, בשתי השורות האלו:
printOut(true);
printOut(true);

בטוח שבשורה השנייה לא התכוונת לFALSE? אחרת איך זה הגיוני [לפי מה שכתבת בהערות] שבפעם הראשונה זה ידפיס This is true ובפעם השנייה This is wrong?

וגם לא הבנתי מדוע שתי השורות האלו לא תחזיר דבר:
y = printOut(true);
y = printOut(false);
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 06:37.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ