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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה | מה השגיאה שלי פה? (https://hosts.co.il/forums/showthread.php?t=99195)

Shai 10-08-12 20:40

שאלה | מה השגיאה שלי פה?
 
שלום,
אשמח שתגידו לי מה השגיאה בקוד הזה:

PHP קוד:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html dir="rtl" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" /> 
<title>Do - While</title>
</head> 

<body> 

<?php

$a 
0;

// הצורה הפשוטה יותר
while ($a <= 10)
{
    echo 
"$a<br>";
    
$a $a +1;
}


// הצורה המורכבת יותר
$sum 0;
$b 1;

do
{
    
$sum $sum +$b;
    
$b++;
}
while (
$b 5)
echo 
"סכום של כל המספרים מ 1 עד 10 הוא $sum";

?>

</body>
</html>

זה כותב לי שגיאה בשורה 32,
ד"א, אני עכשיו לומד זה מהדיסק של האתר HELPS,
ואני לא מבין מה הבעיה..

Ori The Man 10-08-12 20:42

מה השגיאה שהוא אומר לך? יהייה יותר קל למצוא תבעיה..

Shai 10-08-12 20:43

( ! ) Parse error: syntax error, unexpected T_ECHO, expecting ';' in C:\wamp\www\PHP\do.php on line 32

Shai 10-08-12 20:53

מצטער על הדאבל,
אבל עזרו לי בFXP ואמרו לי לשים נקודה פסיק לפני ה echo,
וזה עבד, אבל אפשר הסבר למה?

Daniel 10-08-12 21:09

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

Shai 10-08-12 21:10

כן, להסתיים בנקודה פסיק אני יודע,
אבל הוא אמר לי לעשות בהתחלה גם נקודה פסיק, וזה עבד!
למה!?

Itay 10-08-12 21:17

כי הרווחים לא משנים כל כך, כלומר
PHP קוד:

do { $bla++; }
while(
$bla <= 10)             ; 

גם יעבוד בלי בעיה

Shai 10-08-12 21:19

ציטוט:

נכתב במקור על ידי Itay (פרסם 853945)
כי הרווחים לא משנים כל כך, כלומר
PHP קוד:

do { $bla++; }
while(
$bla <= 10)             ; 

גם יעבוד בלי בעיה

עדיין לא הבנתי איך זה מסביר את זה ששמתי נקודה פסיק בהתחלה, וזה תיקן את זה..?

Daniel 10-08-12 21:20

ציטוט:

נכתב במקור על ידי Itay (פרסם 853945)
כי הרווחים לא משנים כל כך, כלומר
PHP קוד:

do { $bla++; }
while(
$bla <= 10)             ; 

גם יעבוד בלי בעיה

או בהמשך למה ש-Itay כתב:

PHP קוד:

echo "hello"









גם יעבוד.
רווחים או שורות חדשות לא משפיעות כמעט בכלל ב-PHP (חוץ מבמקרים מאוד ספציפים).

זה ששמת את ה-; לפני ה-echo או אחרי ה-while... זה אותו המקום בתאכלס.

Shai 10-08-12 21:23

אה, עכשיו הבנתי.
קודם כל תודה,
ודבר שני, פשוט יכולתם להגיד לי שלא סגרתי את ה while :D

אפשר לנעול.


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

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