2016-11-28 2 views
1

Ich muss innere Elemente aus einem mehrdimensionalen Array von JSON in einfache Arrays kopieren.PHP, Elemente aus multidimensionalem Array in einfaches Array kopieren

Zum Beispiel: json Aussehen liegen, dass:

{ 
    "Point" : [ 
     {"x": 0, "y": 37, "z": 93}, 
     {"x": 1, "y": 81, "z": 44}, 
     {"x": 2, "y": 31, "z": 91}, 
     {"x": 3, "y": 45, "z": 6}, 
     .... 
    ] 
} 

Nach json_parser müssen i jedes X kopieren, y und z wie einfache Arrays

x = array zu trennen (1,2, 3,4, ...) y = Array (37,81,31,45, ...), und so weiter.

Können Sie mir helfen, das zu lösen? Ich habe alles versucht, was ich weiß oder was ich verstehen kann - nichts funktioniert so, wie ich es brauche.

+0

ich den Code liefern könnte, aber ich beschlossen, Ihnen nur einen Tipp geben, zuerst: Loop die 'Points' und addiere jedes "X", "Y" und "Z" zu den entsprechenden Arrays. – Emad

Antwort

0

Sie können dies versuchen:

<?php 
error_reporting(0); 
$str = '{ 
"Point" : [ 
    {"x": 0, "y": 37, "z": 93}, 
    {"x": 1, "y": 81, "z": 44}, 
    {"x": 2, "y": 31, "z": 91}, 
    {"x": 3, "y": 45, "z": 6} 
] 
}'; 
$array = json_decode($str,true); 
$x = array(); 
$y= array(); 
$z= array(); 
foreach($array['Point'] as $single) 
{ 
    $x[] = $single['x']; 
    $y[] = $single['y']; 
    $z[] = $single['z']; 
} 
print_r($x); 
print_r($y); 
?> 
+0

Danke, das hat funktioniert – genesi5

+0

yor sind willkommen –

0

Sie verwenden können:

<?php 

$data = json_decode('{ 
    "Point" : [ 
     {"x": 0, "y": 37, "z": 93}, 
     {"x": 1, "y": 81, "z": 44}, 
     {"x": 2, "y": 31, "z": 91}, 
     {"x": 3, "y": 45, "z": 6} 
    ] 
}', true); 


foreach ($data['Point'] as $row) { 
    foreach ($row as $key => $value) { 
     $$key[] = $value; 
    } 
} 

var_dump($x, $y, $z); 

Hinweis: $keyx zurück, y und z, so $$key wird $ x, $ y und $ z erstellen .

$$key = ${$key} = ${'x'} = $x 

Ein bisschen hacky aber als diese Frage relativ einfach ist, lassen Sie uns ein wenig spielen :-)

+0

Danke, ich werde das versuchen. – genesi5

Verwandte Themen