עבור לתוכן

בעיה בהגדרת מטריצה בPHP

Featured Replies

פורסם

יש לי מטריצה הבאה

$arr=array("Noa"=>array("City"=>Jerusalem,"Street"=>Niv,"Number"=>25),
"Idan"=>array("City"=>Herzliya,"Street"=>Balfur,"Number"=>5),
"Shai"=>array("City"=>TelAviv,"Street"=>Yaffo,"Number"=>2));

אני רוצה לרוץ על המטריצה ולהדםיס אותה בצורת טבלה

כתבתי את הקוד הבא אבל הוא לא עובד

<?php
$arr=array("Noa"=>array("City"=>Jerusalem,"Street"=>Niv,"Number"=>25),
"Idan"=>array("City"=>Herzliya,"Street"=>Balfur,"Number"=>5),
"Shai"=>array("City"=>TelAviv,"Street"=>Yaffo,"Number"=>2));
//$arr=array('zero','one','two'=>2);
echo "<table border=1>";
for($i=0;$i<3;$i++)
//for($j=0;$j<4;$j++)
foreach ($arr as $key=>$val)
//echo "<tr><td>"."Name:$key"."</td><td> value:$val"."</td><td>"."key:$key"."</td><td> value:$val"."</td></tr><BR>\n";
echo "<tr><td>"."Name:"$arr[''][i]."</td><td> value:$val"."</td><td>"."key:$key"."</td><td> value:$val"."</td></tr><BR>\n";
?>

אני לא מבין כל כך את השפה חפשתי באינטרנט אבל סתם הסתבכתי ... :P

פורסם

חסר לך נקודה לפני

$arr[''][i]

בנוסף, לולאת ה-FOR די מיותרת. אם אתה רוצה לשים מונה בשביל מספור אז תשים אותו בנפרד, אבל סתם ככה, אם תריץ את הקוד זה ידפיס את מה שאתה רוצה להדפיס - 3 פעמים.

ועוד טיפ קטן, שאתה מדפיס את הטבלה, אחרי כל -</tr> יש <BR> - מיותר לחלוטין, אתה מוזמן למחוק אותו. אל תתפלא שהטבלה תהיה די רחוקה מהקצה העליון של הדף.

ואיך הגעתי לשלוש המסקנות האלה? פשוט מאוד. הרצתי את הדף ונתקלתי בשגיאה שאמרה שבשורה 1 (איפה שאתה מדפיס שורה בטבלה) יש "משתנה" בלתי צפוי, והוא צפה לקבל שם . או ;. הדיבוג מאוד פשוט - תעבור על השורה עד שתמצא משתנה שאתה מדפיס שאין לפניו או אחריו ".".

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

הירידות שורה - ה-BR הוא היחיד שיכול לגרום לזה.

מקווה שהבנת את הטעויות שלך ;)

פורסם
  • מחבר

לא אמרתי את זה בהודעה הראשית אני אמור לעשות את התרגיל הזה תוך שימוש בלולאת foreach מקוננת

והיא אמורה להדפיס מה שיש בתוך המטריצה(אני פשוט מקובע על C או C#) כך שקצת קשה לי להסתגל לשפה הזו

וגם אני ממש לא מבין איך אני רץ עם הסוג הזה של הלולאה...

בנוגע לBR אתה צודק - נמחק ;)

פורסם

אין לך פה שום צורך ב-FOREACH מקוננת :|

פורסם
  • מחבר

ככה המורה רצה...

בכל אופן הצלחתי תודה...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים