Autor | Zpráva | ||
---|---|---|---|
Acer1968 Profil |
#1 · Zasláno: 8. 8. 2018, 17:39:19
Dobrý den, pánové.
Ztratil jsem se opět. Našel jsem pár témat, které se foreach() týkají, koukal jsem se i do PHP manuálu, ale nedaří se mi to aplikovat na složitější pole, které se mi vrací z dotazu přes API (jinými slovy, nemám možnost upravit si to pole, abych na něj uměl vyrobit foreach(). Když si vydumpuju tu proměnnou, která má podle mne obsahovat to vrácené pole po zpracování pomocí funkce json_decode(), tak dostanu tohle: array(2) { ["total"]=> string(3) "510" ["content"]=> array(2) { [0]=> array(11) { ["id"]=> int(153265290) ["trip_type_id"]=> int(1010) ["tour_operator_id"]=> int(10) ["date_from"]=> string(10) "2018-08-17" ["date_to"]=> string(10) "2018-08-24" ["duration"]=> int(8) ["price_current"]=> array(2) { ["value"]=> string(8) "18990.00" ["currency_id"]=> string(1) "1" } ["price_historical_max"]=> array(2) { ["value"]=> string(8) "24680.00" ["currency_id"]=> string(1) "1" } ["last_minute"]=> bool(true) ["transports"]=> array(2) { ["transport_id"]=> int(1) ["airport_id"]=> string(1) "1" } ["accommodation"]=> array(9) { ["id"]=> int(55480) ["type_id"]=> int(1) ["country_id"]=> int(227) ["destination_id"]=> int(1152) ["destinations"]=> array(3) { [0]=> array(3) { ["id"]=> string(3) "736" ["main"]=> string(1) "0" ["location"]=> string(1) "0" } [1]=> array(4) { ["id"]=> string(3) "715" ["parent_id"]=> string(3) "736" ["main"]=> string(1) "0" ["location"]=> string(1) "0" } [2]=> array(4) { ["id"]=> string(4) "1152" ["parent_id"]=> string(3) "715" ["main"]=> string(1) "0" ["location"]=> string(1) "1" } } ["rating"]=> string(3) "4.0" ["price_max"]=> array(2) { ["value"]=> string(8) "24680.00" ["currency_id"]=> string(1) "1" } ["name"]=> string(6) "Saphir" ["image"]=> string(32) "//i.ccdn.cz/acm/10/525849/m0.jpg" } } [1]=> array(12) { ["id"]=> int(128384028) ["trip_type_id"]=> int(1010) ["tour_operator_id"]=> int(240) ["boarding_id"]=> int(8) ["date_from"]=> string(10) "2018-08-17" ["date_to"]=> string(10) "2018-08-24" ["duration"]=> int(8) ["price_current"]=> array(2) { ["value"]=> string(8) "19575.00" ["currency_id"]=> string(1) "1" } ["price_historical_max"]=> array(2) { ["value"]=> string(8) "19575.00" ["currency_id"]=> string(1) "1" } ["last_minute"]=> bool(true) ["transports"]=> array(2) { ["transport_id"]=> int(1) ["airport_id"]=> string(1) "1" } ["accommodation"]=> array(8) { ["id"]=> int(55480) ["type_id"]=> int(1) ["country_id"]=> int(227) ["destination_id"]=> int(1152) ["destinations"]=> array(3) { [0]=> array(3) { ["id"]=> string(3) "736" ["main"]=> string(1) "0" ["location"]=> string(1) "0" } [1]=> array(4) { ["id"]=> string(3) "715" ["parent_id"]=> string(3) "736" ["main"]=> string(1) "0" ["location"]=> string(1) "0" } [2]=> array(4) { ["id"]=> string(4) "1152" ["parent_id"]=> string(3) "715" ["main"]=> string(1) "0" ["location"]=> string(1) "1" } } ["rating"]=> string(3) "4.0" ["name"]=> string(6) "Saphir" ["image"]=> string(32) "//i.ccdn.cz/acm/10/525849/m0.jpg" } } } } No a já bych potřeboval udělat foreach() přes ty prvky content[0,1,2,3....] jestli mi rozumíte a vyzobnout si při každém průchodu pár hodnot, například ["date_from"]. Jenže když udělám: foreach( $data->content as $datedetail ) Zkoušel jsem i foreach($data[1] as $datedetail) a další všechny možné konstrukce, ale očividně vůbec netuším, jak tomu foreach() podhodit ten content tak, aby ho vzal jako pole a neskončil chybou... Prosím o radu Petr |
||
RastyAmateur Profil |
#2 · Zasláno: 8. 8. 2018, 18:06:22
Acer1968:
Zkoušel jsi $data['content'] ?
|
||
Acer1968 Profil |
#3 · Zasláno: 9. 8. 2018, 19:36:40
RastyAmateur:Děkuju za tuhle radu. Ano, zkoušel, ale dávalo to špatné výsledky. Ale díky tomu, že to byl nápad někoho zkušenějšího, tak jsem věřil, že to bude dobře a tak jsem začal řešit, jestli není chyba někde jinde a byla. Takže v tuto chvíli jsem se posunul kousek dál a řeším už jiné problémy. Např. to, jak neplatit za každý dotaz přes API (je to placená služba), resp. jak si uchovat odpověď napříč různými návštěvníky stránky s nějakým rozumným časem expirace. Pomocí WordPress Transients ... Snad to nastuduju, když ne, jsem zpět :-)
Ještě jednou děkuju. Petr |
||
Časová prodleva: 6 let
|
0