2016-11-28 19 views
1

JSONの多次元配列から内部配列を単純配列にコピーする必要があります。PHP、多次元配列から単純配列への要素のコピー

例えば:json_parser後

{ 
    "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}, 
     .... 
    ] 
} 

は、iが

X =配列(1,2、のような単純なアレイを分離するY及びZは、それぞれXをコピーする必要がある: JSONの外観は、その存在3,4、...) y =配列(37,81,31,45、...)など。

私はそれを解決する手伝いができますか?私は、私が知っているか、私が理解できるものすべてを試しました。何も必要な方法では動作しません。

+0

:-)ビットを遊ばせが、私はちょうど最初にあなたにヒントを与えることにしました:ループ 'Points'と対応する配列に 'X'、' Y'、 'Z'をそれぞれ追加してください。 – Emad

答えて

0

あなたがこの試すことができます:あなたが使用することができます

<?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

ありがとうございました – genesi5

+0

ありがとうございます –

0

<?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); 

注:$keyはそう$$keyが$ X、$ yと$ zを作成し、xyzを返しますが。

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

Aはハックビットが、この質問は比較的容易であるように、私はコードを供給できるのは

+0

ありがとう、私はそれを試してみます。 – genesi5