PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Multidimensionales Array auslesen (http://www.selfphp.de/forum/showthread.php?t=25759)

steinol 25.01.2016 16:38:26

Multidimensionales Array auslesen
 
Hallo,
ich bekomme aus einem JSON-Feed folgendes zurück:

PHP-Code:

Array
(
    [
0] => stdClass Object
        
(
            [
lvTypePathStr] => team
            
[lvIDPathStr] => 000008
            
[lvTypeLabelStr] => / Vereinsname
            
[dataList] => Array
                (
                    [
0] => stdClass Object
                        
(
                            [
lvTypeNext] => 
                            [
lvIDNext] => 0
                            
[levelTypeLabel] => 
                            [
gID] => 1948146
                            
[gNo] => 15131012
                            
[gClassID] => 20479
                            
[gClassSname] => MABLB1
                            
[gDate] => 13.09.15
                            
[gTime] => 17:00
                            
[gGymnasiumNo] => 150007
                            
[gGymnasiumName] => Wurst 

Wie kann ich z.B. auf die gID zugreifen?

vt1816 26.01.2016 15:32:11

AW: Multidimensionales Array auslesen
 
Hallo und willkommen hier im Forum.

PHP-Code:

$elements json_decode(json_encode($DeinArray));
$sub_elements json_decode(json_encode($elements->dataList));
echo 
$sub_elements->gID


steinol 26.01.2016 16:43:00

AW: Multidimensionales Array auslesen
 
Danke für die schnelle Antwort.

Leider ist es das noch nicht ganz, auch wenn ich das Prinzip grundsätzlich verstehe.

Den json_decode habe ich schon gemacht. Das ganz fängt bei mir so an:

PHP-Code:

<?php
$team 
= [{"lvTypePathStr":"team","lvIDPathStr":"336558","l.......

Warum muss in dem json_decode noch ein json_encode gemacht werden?

vt1816 26.01.2016 19:29:27

AW: Multidimensionales Array auslesen
 
Wie sieht Dein Code aus?


Alternativ geht es auch so:
PHP-Code:

$DeinArray = Array(
            
"lvTypePathStr" => "team",
            
"lvIDPathStr" => "000008",
            
"lvTypeLabelStr" => "/ Vereinsname",
            
"dataList" => Array(
                            
"lvTypeNext" => "",
                            
"lvIDNext" => 0,
                            
"levelTypeLabel" => "",
                            
"gID" => 1948146,
                            
"gNo" => 15131012,
                            
"gClassID" => 20479,
                            
"gClassSname" => "MABLB1",
                            
"gDate" => "13.09.15",
                            
"gTime" => "17:00",
                            
"gGymnasiumNo" => 150007,
                            
"gGymnasiumName" => "Wurst"
                
)
);

$elements json_decode(json_encode($DeinArray), true);
echo 
$elements['dataList']['gID']; 

*** getestet! ***

steinol 26.01.2016 20:16:25

AW: Multidimensionales Array auslesen
 
Das was du hier geschrieben hast, funktioniert.

Hier mein Code:

PHP-Code:

<?php
$team 
'[{"lvTypePathStr":"team","lvIDPathStr":"336558","lvTypeLabelStr":"\/ TH Quickborn","dataList":[{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948146","gNo":"15131012","gClassID":"20479","gClassSname":"M-BL-1","gDate":"13.09.15","gTime":"17:00","gGymnasiumNo":"150007","gGymnasiumName":"Barmstedt","gGymnasiumPostal":"25355","gGymnasiumTown":"Barmstedt","gGymnasiumStreet":"Schulstra\u00dfe","gHomeTeam":"Barmstedt. MTV 3","gGuestTeam":"TH Quickborn","gHomeGoals":"17","gGuestGoals":"28","gHomeGoals_1":"12","gGuestGoals_1":"16","gComment":" ","gHomePoints":"0","gGuestPoints":"2"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948149","gNo":"15131025","gClassID":"20479","gClassSname":"M-BL-1","gDate":"20.09.15","gTime":"15:00","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"HSG Elbvororte 2","gHomeGoals":"39","gGuestGoals":"21","gHomeGoals_1":"18","gGuestGoals_1":"12","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948154","gNo":"15131035","gClassID":"20479","gClassSname":"M-BL-1","gDate":"27.09.15","gTime":"19:00","gGymnasiumNo":"150017","gGymnasiumName":"Ellerbek","gGymnasiumPostal":"25474","gGymnasiumTown":"Ellerbek","gGymnasiumStreet":"Rugenbergener M\u00fchlenweg","gHomeTeam":"TSV Ellerbek 4","gGuestTeam":"TH Quickborn","gHomeGoals":"28","gGuestGoals":"34","gHomeGoals_1":"12","gGuestGoals_1":"12","gComment":" ","gHomePoints":"0","gGuestPoints":"2"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948163","gNo":"15131045","gClassID":"20479","gClassSname":"M-BL-1","gDate":"18.10.15","gTime":"15:00","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"TH Eilbeck 4","gHomeGoals":"40","gGuestGoals":"21","gHomeGoals_1":"18","gGuestGoals_1":"10","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948165","gNo":"15131053","gClassID":"20479","gClassSname":"M-BL-1","gDate":"31.10.15","gTime":"19:45","gGymnasiumNo":"150060","gGymnasiumName":"Bickbargen\/Halstenbek","gGymnasiumPostal":"25469","gGymnasiumTown":"Halstenbek","gGymnasiumStreet":"Bickbargen 111","gHomeTeam":"HTS\/BW96 Handb 2","gGuestTeam":"TH Quickborn","gHomeGoals":"29","gGuestGoals":"28","gHomeGoals_1":"14","gGuestGoals_1":"14","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948169","gNo":"15131074","gClassID":"20479","gClassSname":"M-BL-1","gDate":"08.11.15","gTime":"17:00","gGymnasiumNo":"150015","gGymnasiumName":"Egenb\u00fcttel","gGymnasiumPostal":"25462","gGymnasiumTown":"Rellingen","gGymnasiumStreet":"Schulweg","gHomeTeam":"Rellinger TV 2","gGuestTeam":"TH Quickborn","gHomeGoals":"21","gGuestGoals":"23","gHomeGoals_1":"10","gGuestGoals_1":"10","gComment":" ","gHomePoints":"0","gGuestPoints":"2"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948173","gNo":"15131081","gClassID":"20479","gClassSname":"M-BL-1","gDate":"15.11.15","gTime":"15:00","gGymnasiumNo":"150031","gGymnasiumName":"Moorrege \/ Am Himmelsbarg","gGymnasiumPostal":"25436","gGymnasiumTown":"Moorrege","gGymnasiumStreet":"Kirchenstra\u00dfe 30","gHomeTeam":"Moorreger SV","gGuestTeam":"TH Quickborn","gHomeGoals":"25","gGuestGoals":"38","gHomeGoals_1":"16","gGuestGoals_1":"14","gComment":" ","gHomePoints":"0","gGuestPoints":"2"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948177","gNo":"15131064","gClassID":"20479","gClassSname":"M-BL-1","gDate":"22.11.15","gTime":"13:30","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"HSG Pinnau 2","gHomeGoals":"28","gGuestGoals":"26","gHomeGoals_1":"15","gGuestGoals_1":"10","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1948185","gNo":"15131094","gClassID":"20479","gClassSname":"M-BL-1","gDate":"13.12.15","gTime":"15:00","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"TSV Uetersen 2","gHomeGoals":"36","gGuestGoals":"21","gHomeGoals_1":"18","gGuestGoals_1":"14","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956561","gNo":"15131171","gClassID":"20479","gClassSname":"M-BL-1","gDate":"10.01.16","gTime":"18:00","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"Moorreger SV","gHomeGoals":"27","gGuestGoals":"20","gHomeGoals_1":"12","gGuestGoals_1":"10","gComment":" ","gHomePoints":"2","gGuestPoints":"0"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956535","gNo":"15131115","gClassID":"20479","gClassSname":"M-BL-1","gDate":"17.01.16","gTime":"18:00","gGymnasiumNo":"150103","gGymnasiumName":"Blankenese","gGymnasiumPostal":"22587","gGymnasiumTown":"Hamburg","gGymnasiumStreet":"Willh\u00f6den","gHomeTeam":"HSG Elbvororte 2","gGuestTeam":"TH Quickborn","gHomeGoals":"31","gGuestGoals":"44","gHomeGoals_1":"19","gGuestGoals_1":"24","gComment":" ","gHomePoints":"0","gGuestPoints":"2"},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956540","gNo":"15131125","gClassID":"20479","gClassSname":"M-BL-1","gDate":"24.01.16","gTime":"15:30","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"TSV Ellerbek 4","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956545","gNo":"15131135","gClassID":"20479","gClassSname":"M-BL-1","gDate":"31.01.16","gTime":"19:00","gGymnasiumNo":"150045","gGymnasiumName":"Steinhauerdamm","gGymnasiumPostal":"22087","gGymnasiumTown":"Hamburg","gGymnasiumStreet":"Steinhauerdamm 4","gHomeTeam":"TH Eilbeck 4","gGuestTeam":"TH Quickborn","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956527","gNo":"15131102","gClassID":"20479","gClassSname":"M-BL-1","gDate":"07.02.16","gTime":"16:00","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"Barmstedt. MTV 3","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956559","gNo":"15131164","gClassID":"20479","gClassSname":"M-BL-1","gDate":"28.02.16","gTime":"16:30","gGymnasiumNo":"150331","gGymnasiumName":"Comenius-Sporthalle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ellerauer Stra\u00dfe 15","gHomeTeam":"TH Quickborn","gGuestTeam":"Rellinger TV 2","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956548","gNo":"15131143","gClassID":"20479","gClassSname":"M-BL-1","gDate":"20.03.16","gTime":"16:30","gGymnasiumNo":"150033","gGymnasiumName":"Lilli-Henoch-Halle","gGymnasiumPostal":"25451","gGymnasiumTown":"Quickborn","gGymnasiumStreet":"Ziegenweg 7","gHomeTeam":"TH Quickborn","gGuestTeam":"HTS\/BW96 Handb 2","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956554","gNo":"15131154","gClassID":"20479","gClassSname":"M-BL-1","gDate":"10.04.16","gTime":"14:00","gGymnasiumNo":"150147","gGymnasiumName":"Johannes-Brahms-Halle","gGymnasiumPostal":"25421","gGymnasiumTown":"Pinneberg","gGymnasiumStreet":"Fahltskamp 36","gHomeTeam":"HSG Pinnau 2","gGuestTeam":"TH Quickborn","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null},{"lvTypeNext":"","lvIDNext":0,"levelTypeLabel":"","gID":"1956569","gNo":"15131184","gClassID":"20479","gClassSname":"M-BL-1","gDate":"17.04.16","gTime":"17:30","gGymnasiumNo":"150048","gGymnasiumName":"Seminarstra\u00dfe","gGymnasiumPostal":"25436","gGymnasiumTown":"Uetersen","gGymnasiumStreet":"Seminarstra\u00dfe","gHomeTeam":"TSV Uetersen 2","gGuestTeam":"TH Quickborn","gHomeGoals":" ","gGuestGoals":" ","gHomeGoals_1":" ","gGuestGoals_1":" ","gComment":" ","gHomePoints":null,"gGuestPoints":null}],"errCode":0}]';

$DeinArray json_decode($team);

$elements json_decode(json_encode($DeinArray), true); 
echo 
"gID:".$elements['dataList']['gID'];  

// echo '<pre>', print_r($namen), '</pre>';

?>

Es kommt einfach nicht das raus, was ich will.

vt1816 26.01.2016 20:23:09

AW: Multidimensionales Array auslesen
 
Was willst Du denn?
Was soll rauskommen?
Gibt es eine Fehlermeldung?
Wo kommen die '[' am Anfang und ']' am Ende her?

steinol 26.01.2016 20:39:53

AW: Multidimensionales Array auslesen
 
Ich will die einzelnen Spielpaarungen formatiert ausgeben. Dazu muss ich auf die Daten unter "dataList" zugreifen.

Eine Fehlermeldung gibt es nicht. Das Ergebnis ist einfach nur leer.

Die [] sind aus dem datafeed. Die kann ich aber weg kürzen, wenn nötig.

vt1816 26.01.2016 20:51:00

AW: Multidimensionales Array auslesen
 
Kommen die Daten original aus einer Datenbanktabelle - oder verarbeitest Du sie noch?
Wie ließt Du die Daten aus?

steinol 26.01.2016 20:53:36

AW: Multidimensionales Array auslesen
 
Von hier:

http://www.handball4all.de/m/spo-pro...vIDNext=336558

vt1816 26.01.2016 22:53:38

AW: Multidimensionales Array auslesen
 
Damit sollte es jetzt funktionieren:

PHP-Code:

$DeinArray trim(file_get_contents("http://www.handball4all.de/m/spo-proxy.php?cmd=data&lvTypeNext=team&lvIDNext=336558"), "\[\(\)\]");

$elements json_decode($DeinArraytrue); 
for(
$i 0$i count($elements['dataList']);$i++) {
    echo 
"gID$i: ".$elements['dataList'][$i]['gID'] ."<br>\n";  




Alle Zeitangaben in WEZ +2. Es ist jetzt 17:40:39 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.