כמה שאלות ב php
-
@הלי
להחליף מחרוזת כזאת101,1,אברהם,050123456\n102,1,יצחק,058123456\n103,1,יעקב,0531236545\n
למערך כזה
{"ListAllInformation":[{"id":"101","Status":"1","phone":"050123456","ValName":"אברהם"},{"id":"102","Status":"1","phone":"058123456","ValName":"יצחק"},{"id":"103","Status":"1","phone":"0531236545","ValName":"יעקב"}]}
בתודה מראש לכל העוזרים והרוצים לעזור!!!!
-
@אדם דווקא מערך של JSON ?
או שמספיק מערך פשוט של PHP -
@הלי
אני רוצה מערך כזה שאני יוכל לעשות בו חיפוש כמו ש @צדיק-תמים כתב לי כאן -
@אדם לא הבנתי מה אפשר לחפש ומה אי אפשר
-
@הלי
@צדיק-תמים הביא לי כאן קוד שמחפש בתוך מערך כזה,{"ListAllInformation":[{"id":"101","Status":"1","phone":"050123456","ValName":"אברהם"},{"id":"102","Status":"1","phone":"058123456","ValName":"יצחק"},{"id":"103","Status":"1","phone":"0531236545","ValName":"יעקב"}]}
יותר מזה אני לא יודע,
ואדרבה אם תוכל לתת לי קוד שמחפש גם במערך כזה[{"Type":"ListAllInformation","id":"101","Status":"1","phone":"אברהם"},{"Type":"ListAllInformation","id":"102","Status":"1","phone":"יצחק"},{"Type":"ListAllInformation","id":"103","Status":"1","phone":"יעקב"},{"Type":"ListAllInformation","id":null,"Status":null,"phone":null}]
אני יודה לך מאד.
-
@אדם לא הבנתי מה אתה מחפש או מוצא פה
-
@הלי
אני לא מוצא משהו מיוחד, פשוט הקוד שהוא הביא לי עושה את העבודה בכזה סוג מערך. -
@אדם כתבת שאתה צריך שיוכלו לחפש כל מיני דברים
@אדם כתב בכמה שאלות ב php:
קוד שמחפש בתוך מערך כזה,
אז תסביר יותר מדויק מה אתה רוצה ונראה מה אפשר בסייעתא דשמיא
-
@הלי
אני רוצה שאני יוכל לחפש בקובץ ListAllInformation מה המספר טלפון של מי שהזיהוי שלו מכיל את הספרות 01 (לדוגמא) בסדר רציף .
לצורך זה אני צריך להפוך את הקובץ למערך אובייקטים כזה{"ListAllInformation":[{"id":"101","Status":"1","phone":"050123456","ValName":"אברהם"},{"id":"102","Status":"1","phone":"058123456","ValName":"יצחק"},{"id":"103","Status":"1","phone":"0531236545","ValName":"יעקב"}]}
ואז אני מבצע חיפוש ע"י הקוד שהביא לי פה
-
@אדם יתכן שאם יש יותר מאחד תקבל את שתיהן לא?
למה אתה חושב שרק ככה אפשר לחפש?
בערב אנסה לבדוק מה אני יכול לעשות בשבילך -
@הלי כתב בכמה שאלות ב php:
למה אתה חושב שרק ככה אפשר לחפש?
אני לא חושב כלום, אין לי מידי ידע אז ניסיתי כמה שיכולתי לחשוב שצריך לשנות ולא עבד.
@הלי כתב בכמה שאלות ב php:
בערב אנסה לבדוק מה אני יכול לעשות בשבילך
תודה רבה
@הלי כתב בכמה שאלות ב php:
יתכן שאם יש יותר מאחד תקבל את שתיהן לא?
זה מה שאני צריך.
-
@צדיק-תמים כתב בכמה שאלות ב php:
<?php $str='{"responseStatus":"OK","yALogsVersion":"4.3.7","data":[{"Type":"list_all_information","id":"12658988","ValName":"*****","PointsTotal":"2"},{"Type":"list_all_information","id":"23787823","ValName":"*****","PointsTotal":"3"}]}'; $data = json_decode($str); function filterData($items, $searchString) { foreach ($items as $item) { if (strpos($item->id, $searchString) !== false) { return $item; } } } echo json_encode(filterData($data->data, '6589')) ?>
כשהמערך מכיל את השמות באמת ולא כוכביות, בפלט שמתקבל זה מוצג בצורה מאד מוזרה, מה יש לעשות בשביל זה???
דהיינו שהקוד הוא כך
<?php $str='{"responseStatus":"OK","yALogsVersion":"4.3.7","data":[{"Type":"list_all_information","id":"12658988","ValName":"משה","PointsTotal":"2"},{"Type":"list_all_information","id":"23787823","ValName":"אהרון","PointsTotal":"3"}]}'; $data = json_decode($str); function filterData($items, $searchString) { foreach ($items as $item) { if (strpos($item->id, $searchString) !== false) { return $item; } } } echo json_encode(filterData($data->data, '6589')) ?>
הפלט שמתקבל הוא
{"Type":"list_all_information","id":"12658988","ValName":"\u05de\u05e9\u05d4","PointsTotal":"2"}
בתודה מראש!!!
רק אם יש לך זמן וסבלנות אלי, סליחה מראש!!! -
@אדם תוסיף כארגומנט שני ל json_encode את
JSON_UNESCAPED_UNICODE
ככהecho json_encode(filterData($data->data, '6589'), JSON_UNESCAPED_UNICODE)
-
@צדיק-תמים
תודה רבה!!!
עובד מצויין!!! -
@אדם אז הסתדרת ?
-
-
@אדם עדיין רלוונטי?
אם כן אז תפרט לי בלי דוגמאות של קוד מוכן רק עם דוגמא של מה שמופיע בימות ומה אתה רוצה לעשות בדיוק -
@הלי כתב בכמה שאלות ב php:
עדיין רלוונטי?
כן, בהחלט!!!
@הלי כתב בכמה שאלות ב php:
תפרט לי בלי דוגמאות של קוד מוכן רק עם דוגמא של מה שמופיע בימות ומה אתה רוצה לעשות בדיוק
אני מקבל את קובץ
ListAllInformation
מתיקייתEnterID
שיש שם כמה עמודות מופרדים בפסיקים,
איך אני הופך כל שורה בקובץ לאיבר במערך ושבתוך כל שורה, כל עמודה תהיה כאובייקט בפני עצמו עם שם משלו, דהיינו עד הפסיק הראשון זה יהיה אובייקט בשם מספר זיהוי ועד הפסיק השני זה יהיה אוביקט בשם הרשאת כניסה, העמודה השלישית מספר טלפון והעמודה הרביעית שם.
דהיינו מה שמתקבל בצורה כזו בתוך הערך contents{"responseStatus":"OK","contents":"101,1,אברהם,050123456\n102,1,יצחק,058123456\n103,1,יעקב,0531236545\n","file":{"exists":true,"name":"ListAllInformation.ini","uniqueId":"473d85756783dd55cc526f1c20882ba4","fileType":"INI","size":416,"mtime":"12/07/2023 16:21","what":"ivr2:EnterID/ListAllInformation.ini"},"yemotAPIVersion":6}
אני רוצה שיהפך ל
{"ListAllInformation":[{"id":"101","Status":"1","phone":"050123456","ValName":"אברהם"},{"id":"102","Status":"1","phone":"058123456","ValName":"יצחק"}{"id":"103","Status":"1","phone":"0531236545","ValName":"יעקב"}]}
תודה מראש!!!
-
@אדם פחות משנה למה אתה רוצה שזה יהפך יותר משנה מה אתה רוצה לעשות כלומר הבנתי מה שמופי בתשובה מימות אבל מה אתה רוצה שיוכלו לעשות עם זה אחרי זה שבשביל זה אתה רוצה את המערך הזה
-