2016-12-08 3 views
0

私はarray_pushメソッドを使用して、以下のようにすべての整数を配列に取得します。array_pushは整数では機能しませんか?

$response = json_decode($jsonResponse); 
foreach($response as $item) { //foreach element in $response 
    $type = $item; 
    $unique_id = $type->id; 
    $id_array=array(); 
    array_push($id_array, $unique_id);  
} 
var_dump($id_array); 

しかし、$id_arrayには最後の整数要素のみが含まれています。上記のコードに間違いはありますか、または整数要素をPHP配列にプッシュすることはできませんか?

+0

あなたはループの中でそれを初期化することによって、アレイをリセットしています。ループから取り出してください – Rishi

+0

@ Rishi Oh no。ポイントを得ました。ありがとう – isuru

答えて

3

あなたはforeach

$response = json_decode($jsonResponse); 
$id_array=array(); 
foreach($response as $item) { //foreach element in $response 
    $unique_id = $item->id; 
    array_push($id_array, $unique_id);  
} 
var_dump($id_array); 

OR

$response = json_decode($jsonResponse); 
$id_array=array(); 
foreach($response as $item) { //foreach element in $response 
    array_push($id_array, $item->id);  
} 
var_dump($id_array); 
+0

それはちょうど 'array_push($ id_array、$ item-> id);' –

+0

それは提案のために働き、ありがとう。 – isuru

1

内のコードを最小限に抑えることができforeach

$response = json_decode($jsonResponse); 
    $id_array=array(); 
    foreach($response as $item) { //foreach element in $response 
     $type = $item; 
     $unique_id = $type->id; 
     array_push($id_array, $unique_id);  
    } 
var_dump($id_array); 

の先頭に$id_array=array();を入れて、ループ外の配列を初期化します。

これは動作するはず
$response = json_decode($jsonResponse); 
$id_array = array(); 
foreach($response as $item) { //foreach element in $response 
    $type = $item; 
    $unique_id = $type->id; 
    array_push($id_array, $unique_id);  
} 
1
$response = json_decode($jsonResponse); 
$id_array=array(); 
foreach($response as $item) { //foreach element in $response 
    $type = $item; 
    $unique_id = $type->id; 
    array_push($id_array, $unique_id);  
} 
var_dump($id_array); 

..

関連する問題