View Single Post
ישן 13-04-06, 12:54   # 1
BBman
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 31
הודעות: 608
שלח הודעה באמצעות MSN אל BBman

BBman לא מחובר  

[מדריך] PHP - לולאות (while, do...while, for & לולאות מקוננות) (*מומלץ!)

שלום לכולם !

זהו מדריך ללולאות הבאות :

While - הלולאה הפשוטה ביותר, בודקת אימות של תנאי ואז מבצעת ביטוי כלשהו עד שהתנאי הנ"ל יחשב שקר.
do...while - מבצעת ביטוי, ולאחר מכן מאמתת תנאי עד אשר יחשב שקר.
for - הלולאה המורכבת אך הנוחה , מעידה על משתנה חדש, מציבה לו תנאי, ובמידת התנאי (אמת או שקר) מבצעת פעולה מסויימת.

הלולאה while -

הלולאה While הינה לולאה אשר מאמתת תנאי מסויים, ובמידתו, מבצעת פעולה כל שהיא.

לולאת While נכתבת כך :

PHP קוד:
<?php
while(conditon)    {
expresion;
}
?>
הסבר :

condition - פשוטו כמשמעו , תנאי, אשר הלולאה תלויה בו על מנת לבצע את הפעולה expresion.

expresion - הביטוי אשר נרצה לבצע שוב ושוב כל עוד התנאי הוא אמת.

תרשים זרימה לולאת while = >



וכעת, אדגים שימוש פשוט בלולאת While :

PHP קוד:
<?php
$a
=1;
while(
$a<=5)    {
echo 
"$a<Br>";
$a++;
}
?>
מה שבעצם עשינו כאן הוא :

שורה 1 : התחלת מסמך php חדש.
שורה 2 : הצהרה על משתנה חדש בשם a והצבת הערך שלו 1.
שורה 3 : התחלת לולאת ה-while והצבת התנאי : "האם a קטן או שווה ל-5?"
שורה 4+5:בצע ביטוי + העלה את a ב-1 כך שהלולאה לא תחזור על עצמה עד אין סוף.
תוצאות הלולאה : הדפסת המס' 1 - 5 .

ולמי שלא הבין :

מה שעשינו כאן בעצם זה מתן תנאי למשתנה a , והתנאי או a<=5 ( האם a קטן או שווה ל-5 ?) ובמידת אמת, אז נדפיס את a, ולאחר מכן נגדיל את ערכו באחד, כך שהתוצאה היא כזאת.

ציטוט:
loop : a=1 ,a<=5?, print a,a=a+1,do it again!....
a=2,a<=5? , print a,a=a+1,do it again!....
אפשר גם להשתמש ב-while לכל מני משימות, לדוגמא :

הדפסת כל הנתונים ממסד נתונים, בדיקות אמת וכו'...

לולאת do...while

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

מבנה של הלולאה הנ"ל הינו :

PHP קוד:
do    
{
expresion
}while(
condition); 
ותוצאותיה דומות לשל while , אך דרך האימות שונה.

תרשים זרימה ללולאה זו :



דוגמא לשימוש בלולאה זו :

PHP קוד:
$b=1;
do
{
echo 
"$b<br>";
$b++;
}
while(
$b<=5); 
הסבר :

שורה 1 : הצהרה על משתנה חדש b והצבת ערכו 1.
שורה 2 : התחלת לולאת do...while .
שןרה 3+4: ביצוע פעולה + הוספת 1 לערכו של b.
שורה 7 : בדיקת אימות התנאי.

לולאת for

הלולאה השימושית ביותר ע"פ דעתי, והנוחה ביותר.

נכתבת כך :

PHP קוד:
for(erecting;condition;var++ or var--)
{
expresion;

אולי נראה קצת מפחיד, אך לא =] ! הסבר :

erecting - באיזור זה אנו מצהירים על משתנה חדש ומציבים בו ערך.
condition - תנאי, בדר"כ תנאי מתמטי.
var++ or var-- = מן ביטוי, הוספת/הקטנת הערך של המשתנה שהצבנו ב-erecting ב-1.
*כפי ששמתם לב, שלושת האזורים הללו מופרדים ב-; , זכרו זאת!

עכשיו נכתוב לולאה פשוטה, שתדפיס את המס' 1-5 בדיוק כמו הלולאות הקודמות :
PHP קוד:
<?php
for($a=1;$a<=5;$a++)    {
echo 
"$a<Br>";
}
?>
הסבר :

שורה 2 -

הצהרה על משתנה חדש, a והצבת הערך שלו 1.
PHP קוד:
$a=1
:
: תנאי - האם a קטן או שווה ל-5 ?
PHP קוד:
$a<=5
: במידת אמת, הגדל את ערכו של a ב-1.
PHP קוד:
$a++ 
שורה 3 : פעולה, הדפסת המשתנה a.

תרשים ללואה for :



לולאות מקוננות :

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

הקוד ללואת פירמידת תווים :

PHP קוד:
<?php
for($a=0;$a<=5;$a++)
{
for(
$b=0;$b<=$a;$b++)
{
echo 
"*";
}
echo 
"<Br>";
}
?>
הסבר :

שורה 2 : לולאה לספירת התווים, במקרה זה אני רוצה שיודפסו עד 5 תווים.
שורה 3 ספירת השורות והפעמים.
שורה 5 : הדפסה.
.......

זהו! אלו הלולאות הפשוטות, בהצלחה!
  Reply With Quote