הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 10:01 01/03/2018

הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי 011371 » 18:27 04/03/2018

הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?
בשביל להכניס json למערך פשוט יש לרשום

קוד: בחירת הכל

$output = json_decode($output,TRUE);
כאשר $output הוא המשתנה לדוגמא שמכיל את המחרוזת של הjson

ובכדי להדפיס נתון מתוך המערך

קוד: בחירת הכל

print $output['מפתח'];
כאשר 'מפתח' הוא שמו של הנתון אותו רוצים לקבל או מספרו הסידורי במקרה של מערך מבוסס אינדקס

אם הנתון נמצא בתת מערך ניתן לרשום

קוד: בחירת הכל

print $output['מפתח']['מפתח'];
וכן הלאה

כדי להדפיס את כל המערך יש להשתמש בלולאה
בתחביר הבא

קוד: בחירת הכל

foreach($output as $print)
{
print " $print";
}
אם רוצים להדפיס את המערך בצורתו המפורשת (מפתח=>ערך) בעיקר משמש בשלב הבדיקה של הסקריפט להבין מה קורה בתוך מערך מסוים
יש לרשום

קוד: בחירת הכל

print_r($output);
או

קוד: בחירת הכל

echo '<pre>';
print_r($output);
echo '</pre>';
בשביל לקבל את זה בתצוגה יפה וקריאה יותר
בהצלחה

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 11:22 06/03/2018

משום מה אני לא מצליח....
זה מה שהגדרתי (יש עוד הגדרות שלא צרפתי כאן)

קוד: בחירת הכל

$json = json_decode($output);
וזה מה שהגדרתי בprint

קוד: בחירת הכל

echo $json['מפתח'];
וגם:

קוד: בחירת הכל

echo $json['מפתח1']['מפתח2'];
וזה מה שהוא מביא לי

קוד: בחירת הכל

Fatal error: Cannot use object of type stdClass as array
איך שהקבצים עבדו עד עכשיו עבדו בצורה כזאת:

קוד: בחירת הכל

echo $json->key;
אבל בprint_r זה כן מדפיס לי את כל התוצאות אבל לא בצורה שאני צריך וכן אני רוצה להחליף את הסימנים המיותרים.


מקווה שהבנת אותי ואם לא אסביר שוב ומאד אשמח שתעזור לי.
תודה

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי 011371 » 11:53 06/03/2018

מצו"ב דוגמא תקינה של json המתקבל מימות API בבקשת רשימת תפוצה
התשובה מפוענחת לתוך מערך
מודפסת כמערך
דוגמא להדפסת נתון מתוך המערך
2 דוגמאות להדפסת נתונים מתת-תת-מערך

קוד: בחירת הכל

<?php

$json ='{"responseStatus":"OK","templateId":420049,"entries":[{"rowid":67649101,"index":0,"phone":"0583200000","blocked":false,"name":"הרב טוב לב שליט\"א ","moreinfo":""},{"rowid":67649104,"index":1,"phone":"0533100000","blocked":false,"name":"מנהל","moreinfo":""},{"rowid":67649845,"index":2,"phone":"0548400000","blocked":false,"name":"","moreinfo":""},{"rowid":68665939,"index":3,"phone":"0583200001","blocked":true,"name":null,"moreinfo":null},{"rowid":69631653,"index":4,"phone":"0548400001","blocked":false,"name":"איפה","moreinfo":null}],"yemotAPIVersion":6}';

$json = json_decode($json,TRUE);

print_r($json) ;

print '<br /><br />';

print $json['responseStatus'];

print '<br /><br />';

print $json['entries'][0]['name'];

print '<br /><br />';

print $json['entries'][3]['phone'];
בהצלחה

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 11:56 06/03/2018

מצו"ב דוגמא תקינה של json המתקבל מימות API בבקשת רשימת תפוצה
התשובה מפוענחת לתוך מערך
מודפסת כמערך
דוגמא להדפסת נתון מתוך המערך
2 דוגמאות להדפסת נתונים מתת-תת-מערך

קוד: בחירת הכל

<?php

$json ='{"responseStatus":"OK","templateId":420049,"entries":[{"rowid":67649101,"index":0,"phone":"0583200000","blocked":false,"name":"הרב טוב לב שליט\"א ","moreinfo":""},{"rowid":67649104,"index":1,"phone":"0533100000","blocked":false,"name":"מנהל","moreinfo":""},{"rowid":67649845,"index":2,"phone":"0548400000","blocked":false,"name":"","moreinfo":""},{"rowid":68665939,"index":3,"phone":"0583200001","blocked":true,"name":null,"moreinfo":null},{"rowid":69631653,"index":4,"phone":"0548400001","blocked":false,"name":"איפה","moreinfo":null}],"yemotAPIVersion":6}';

$json = json_decode($json,TRUE);

print_r($json) ;

print '<br /><br />';

print $json['responseStatus'];

print '<br /><br />';

print $json['entries'][0]['name'];

print '<br /><br />';

print $json['entries'][3]['phone'];
בהצלחה
אבל אני לא רוצה ממערך אלא ישירות מהכתובת!!

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 12:33 06/03/2018

בסוף הבנתי מה הבעייה זה הindex אבל איך אני יכול לעשות שהוא ידפיס את כל האינדקס מבלי שאני יכתוב את מספר הindex???

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי 011371 » 12:43 06/03/2018

בסוף הבנתי מה הבעייה זה הindex אבל איך אני יכול לעשות שהוא ידפיס את כל האינדקס מבלי שאני יכתוב את מספר הindex???
לדוגמא

קוד: בחירת הכל

foreach($json['entries'] as $print)
{
print $print['name'];
print '<br>';
}
ידפיס לך את כל השמות מתוך הרשימה

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 13:42 06/03/2018

ממש תודה על כל העזרה, אבל אני מנסה לעשות str_replace על הjson שיחליף סימנים בעייתיים בדף לסימנים אחרים שאני יגדיר וזה לא הולך...
מה בדיוק אני יכול לעשות?
תודה

מנחם מענדל מענדי
הודעות: 980
הצטרף: 16:42 28/04/2016

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי מנחם מענדל מענדי » 14:59 06/03/2018

הצלחתי באופן יחסי אבל דווקא לסימן הזה : הוא עושה לי בעיות...

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הדפסת נתונים בphp מjson • איך מדפיסים חוץ מint ערכים שנמצאים בתוך array?

שליחהעל ידי 011371 » 17:58 06/03/2018

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


חזור אל “פורום PHP”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים | 13 אורחים