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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 13-04-06, 12:54   # 1
BBman
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 32
הודעות: 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
ישן 13-04-06, 13:05   # 2
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 7,601

meshuga לא מחובר  

א. תודה רבה.
ב. דבר אחד ששמתי לב עכשיו (עברתי בריפרוף) בfor אפשר לשים לא רק ++ או -- אפשר לשים ביטוי שלם. כלומר אפשר לשים נגיד
PHP קוד:
for($i=0;$i<=1;$i=4+5+$i
למרות שאף פעם לא השתמשתי ובדקתי...אבל לפי מה שאני יודע בC זה ככה אז זה אומר שבPHP זה גם ככה.
  Reply With Quote
ישן 13-04-06, 13:20   # 3
somebody
A Al Alm Almo Almog!
תודה על תרומתך!
 
somebody's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: hadera CiTy
גיל: 34
הודעות: 4,005
שלח הודעה באמצעות MSN אל somebody

somebody לא מחובר  

אפשר גם כפל לדוגמא:
PHP קוד:
for(.....,$i*=2)
$i+=43 
וכו..
אפשר את כל פעולות החשבון, אני לא יודע אפ אפשר אבל יכול להיות שגם אפשר לקרוא לפפונקציה משם?
מאוד יכול להיות..
תבדוק
__________________
דוא"ל: almog.zimel ב ג'מייל נקודה קום
מסנג'ר: almog שטרודל freetopsite נקודה co נקודה il

  Reply With Quote
ישן 13-04-06, 13:37   # 4
The Penguin
מתאורר / יצא בחוץ
 
The Penguin's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בכפר של כל הסבאים
גיל: 19
הודעות: 2,094
שלח הודעה באמצעות ICO אל The Penguin שלח הודעה באמצעות MSN אל The Penguin

The Penguin לא מחובר  

תודה מוררררר!!!

מדריך נחמד !
  Reply With Quote
ישן 13-04-06, 14:04   # 5
meshuga
הנהלת הפורום לשעבר
 
meshuga's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 7,601

meshuga לא מחובר  

ציטוט:
נכתב במקור על ידי somebody
אפשר גם כפל לדוגמא:
PHP קוד:
for(.....,$i*=2)
$i+=43 
וכו..
אפשר את כל פעולות החשבון, אני לא יודע אפ אפשר אבל יכול להיות שגם אפשר לקרוא לפפונקציה משם?
מאוד יכול להיות..
תבדוק
לדעתי כן....
ועוד משהו שנזכרתי..שאנשים שוכחים..תנאי יכול להכיל כמה דברים (וגם/או) (||\&&) ולא חייב להיות רק תנאי אחד.....
  Reply With Quote
ישן 13-04-06, 14:12   # 6
bigimot
חבר פורום
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 171

bigimot לא מחובר  

PHP קוד:
<?php 
for($a=0;$a<=5;$a++) 

for(
$b=0;$b<=$a;$b++) 

echo 
"*"

echo 
"<Br>"

?>
במקום לעשות את זה ככה, תעשה ככה:

PHP קוד:
<?php 

  
for($a=0;$a<=5;$a++) 
  { 
        for(
$b=0;$b<=$a;$b++) 
        { 
              echo 
"*"
        } 
        echo 
"<Br>"
  } 

?>
יותר נוח לקריאה נראה לי...
  Reply With Quote
ישן 13-04-06, 15:54   # 7
Level-Serv
תודה על תרומתך!
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אזור השרון
גיל: 35
הודעות: 1,441
שלח הודעה באמצעות ICO אל Level-Serv שלח הודעה באמצעות MSN אל Level-Serv

Level-Serv לא מחובר  

יפה מאוד..
רק משהו אחד- נהוג לומר על while($a<=5) בעברית ככה:
כל עוד a קטן או שווה לחפש.
__________________
בברכה,
ניר
מנהל חברת Level-Serv
  Reply With Quote
ישן 13-04-06, 19:07   # 8
LosNir
מתאורר / יצא בחוץ
 
LosNir's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: ראשון לציון
גיל: 32
הודעות: 2,686
שלח הודעה באמצעות ICO אל LosNir שלח הודעה באמצעות MSN אל LosNir

LosNir לא מחובר  

אחלה מדריך!
חידש לי קצת
  Reply With Quote
השב

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

Tags
מבוא, מדריך למתחילים, מדריך מומלץ, מדריך php


חוקי פירסום
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. הזמן כעת הוא 05:38.

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