我有查詢這給我造成這樣PHP數組行合併成一個單一陣列
Array ([0] => stdClass Object ([id] => 1)
[1] => stdClass Object ([id] => 2)
[2] => stdClass Object ([id] => 3))
我要拿出id的值,並把它轉換成數組(1,2,3)來代替。什麼是最好的方式去做這件事。通過它的foreach循環?
我有查詢這給我造成這樣PHP數組行合併成一個單一陣列
Array ([0] => stdClass Object ([id] => 1)
[1] => stdClass Object ([id] => 2)
[2] => stdClass Object ([id] => 3))
我要拿出id的值,並把它轉換成數組(1,2,3)來代替。什麼是最好的方式去做這件事。通過它的foreach循環?
可以使用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;
});
可能更簡單:'$ arr = array_map($ arr,function($ v){return $ v-> id;});' – AbraCadaver
使用箭頭操作->
檢索對象的值。至於迭代,簡單的foreach循環可以做到。
foreach ($array as $arr) {
echo $arr->id . PHP_EOL;
}
如果你可以使用'array_column()'作爲數組獲取結果。 – AbraCadaver