Was ich benutze:Array verlieren Schlüssel nach der zweiten foreach-Schleife
$raw = file_get_contents('url');
$raw = json_decode($raw,true);
foreach($raw['data'] as $spell){
var_dump($spell);
}
Was erhalte ich:
array(1) {
["image"]=> array(2){
["w"]=> int(48)
["h"]=> int(48)
}
}
Für jetzt ist alles in Ordnung.
Aber wenn ich eine zweite Schleife (wegen der mehr als 1 Tasten & Werte) wie folgt aus:
foreach ($raw['data'] as $spell){
foreach ($spell['image'] as $image) {
var_dump($image);
}
}
ich:
int(48) int(48)
Nichts anderes.
ich erwartet zu bekommen:
array(2){
["w"]=> int(48)
["h"]=> int(48)
}
Was mache ich falsch?
Mit der zweiten foreach-Schleife gehen Sie durch das SubArray '$ raw [" data "] [" image "]' welches nur Integer-Werte und keine Arrays enthält, so dass diese ausgegeben werden. Ändere die zweite foreach-Schleife auf: 'foreach ($ buchstabieren ['image'] als $ key => $ image) echo" $ key => $ wert \ n ";' Dann siehst du deinen Schlüssel. Wenn Sie Ihre erwartete Ausgabe wollen, wollen Sie nur: 'var_dump ($ rohe [" data "] [" image "]);' – Rizier123
Hatte deine Antwort dreimal zu lesen, aber jetzt habe ich es und es funktioniert. Vielen Dank :) – ThaFlaxx
Aber wie kann ich sie durch die '['w']' und '['h']' bekommen, muss ich sie mehrmals ausdrucken. – ThaFlaxx