הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] PHP - פונקציות. למתחילים, וגם למתקדמים. (https://hosts.co.il/forums/showthread.php?t=43220)

Daniel 10-04-07 10:38

[מדריך] PHP - פונקציות. למתחילים, וגם למתקדמים.
 
אני אנסה להסביר בצורה ברורה-למרות שזה לא החלק החזק שלי.

פונקציות-למה הם?
פונקציות נועדו לקצר עבודה, ולהקל על בוני המערכות.

נתחיל עם המבנה הבסיסי.
כל פונקציה מתחילה ככה:
PHP קוד:

function func_name($variables) { 

ונגמרת ככה

PHP קוד:



עכשיו נסביר.
function=הכרזה ש"אני הולך לעשות פונקציה".
func_name=שם הפונקציה. אתם יכולים לבחור-התנאים של שם הפונקציה הם כל של משתנים, אי אפשר להתחיל פונקציה במספר, אי אפשר לשים תווים מיוחדים, וכו'.
($variables) = משתנים.
אני אסביר עם משתנה אחד, כך שתבינו.
{ ו- } = מכריז שכל מה שבתוכן-זה חלק מהפונקציה.

אני רוצה פונקציה, שתוסיף למספר 3.

הנה דוגמה-ואחריה הסברים.
PHP קוד:

function add_number($number) {
$number $number 3;
return 
$number;


function-הכרזה על פונקציה.
add_number-שם הפונקציה.
($number)-המשתנים. מה אתה תוכל להקליד. (הסבר עוד כמה שורות).
$number = $number + 3-גורם למשתנה $number, לגדול ב-3.
return $number = מחזיר את $number.

עכשיו נראה את הדוגמה.
אם נעשה,
PHP קוד:

$text 0;
$text add_number($text);
echo 
$text

זה יציג 3.
מה קרה?
ברגע שעשינו,
PHP קוד:

function add_number($number

אז "הגדרנו", שכל מי שישתמש בפונקציה-יוכל להשתמש במשתנה אחד-ובתוך הפונקציה, למשתנה יקראו $number.
עשינו,
$text = add_number($text);
אמרנו לו, ש-
1. ילך לפונקציה add_number.
2. יעשה ש-$number = $text
3. יעשה את הפעולות שרשומות בפונקציה($number = $number + 3;).
4. שיחזיר את $number, ש-$number יהיה ה"פלט".
כשעשינו,
$text =, אמרנו ש-$text יהיה שווה לפלט.

אם נעשה,

PHP קוד:

$num 0;
$bigger add_number($num); 

אז $num לא ישתנה.
רק $bigger.

אני מקווה שהבנתם, עכשיו נעבור לקטע אחר.

בפונקציה-יכול להיות 0 משתנים.
שהיא תיראה,
PHP קוד:

function func_name() {



בפונקציות אתם יכולים לעשות כל דבר שאתם עושים בקוד רגיל, לכן, אתם יכולים לעשות פונקציה כזאת,
PHP קוד:

function learn() {
echo 
"i am learning";


וכל פעם שתעשו,
PHP קוד:

learn(); 

אז זה יציג על המסך "echo".

בפונקציה-יכולים גם להיות אין סוף משתנים.
לדוגמה, אפשר לעשות,

PHP קוד:

function kefel($num1$num2) {
$total $num1 $num2;
return 
$total;


ואז, אם נעשה,

PHP קוד:

$number kefel("5""3"); 

$number יהיה שווה 15, כי 3*5=15.

אתם יכולים לעשות גם אין סוף משתנים.

עכשיו נעבור לקטע שאוליי יהיה קשה להסביר, @@'.

כולכם מכירים את הפונקציה str_replace?
אני מניח שכן..,
רובכם מכירים אותה ככה:
PHP קוד:

$text str_replace($find$replace$where); 

אבל יש לה עוד אפשרות אחת, LIMIT.
PHP קוד:

$text str_replace($find$replace$where$limit); 

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

function to_print($text$in_the_end "END") {
echo 
$text."<br>End:".$in_the_end;


ואז תוכלו גם,
to_print("hi");
ואז יצא,
hi
End:
ואתם תוכלו גם
to_print("hi", "it is the end");
ואז יצא
hi
End: it is the end

מקווה שהבנתם למרות כושר ההסברה הגרוע שיש לי :).

reXtea 10-04-07 11:05

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

קוד:

$dos = 2;


$dos = func_name1("2"); // Not good!!! because $dos doesn't have any value.
$dos = funcname2("2"); // Will return us 4.

function func_name1($number) {
        return $dos + number;
}

function func_name2($number) {
        global $dos;
        return $dos + number;
}

אתם תיהיו חייבים להשתמש במשפט - "global" על מנת להשתמש במשתנים מבחוץ... אתם עושים את זה בצורה הזאת:
קוד:

global $n1,$n2,n3;
ושוב פעם, אחלה מדריך דניאל!!

Daniel 10-04-07 14:23

תודה :).

תקראו גם את התגובה של אמיר XP.

Diimon0 07-11-14 20:40

תודה

Diimon0 07-11-14 20:42

תודה


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

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