2016-07-06 69 views
-1

我有查詢這給我造成這樣PHP數組行合併成一個單一陣列

Array ([0] => stdClass Object ([id] => 1) 
     [1] => stdClass Object ([id] => 2) 
     [2] => stdClass Object ([id] => 3)) 

我要拿出id的值,並把它轉換成數組(1,2,3)來代替。什麼是最好的方式去做這件事。通過它的foreach循環?

+0

如果你可以使用'array_column()'作爲數組獲取結果。 – AbraCadaver

回答

0

可以使用array_map():由AbraCadaver

function change_it($value) { 
    return $value->id; 
} 
$arr = array_map($arr, "change_it"); 

正如評論所說,用一個匿名函數更短:

$arr = array_map($arr, function ($v) { 
    return $v->id; 
}); 
+1

可能更簡單:'$ arr = array_map($ arr,function($ v){return $ v-> id;});' – AbraCadaver

0

使用箭頭操作->檢索對象的值。至於迭代,簡單的foreach循環可以做到。

foreach ($array as $arr) { 
    echo $arr->id . PHP_EOL; 
} 

例,https://3v4l.org/f1SIN