我有查询给我这样的结果
Array ( [0] => stdClass Object ( [id] => 1 )
[1] => stdClass Object ( [id] => 2 )
[2] => stdClass Object ( [id] => 3 ) )
我想取出id值并将其转换为数组(1,2,3)。什么是最好的方式来做这件事。 foreach循环通过吗?
答案 0 :(得分:0)
您可以使用array_map()
:
%% Altogether now
figure(3)
h=surf(x,y,zz1,'FaceColor','b','EdgeColor','none');
alpha(h,0.4)
[l,icons,plot,text]=legend('plot1');
%Set the objects that you want
set(findobj(icons,'type','Text'),'FontSize',24)
set(findobj(icons,'type','Text'),'FontName','Wide Latin')
set(findobj(icons,'type','patch'),'facea',0.4)
%Make painful adjustments to item positioning (there should be a better way ...)
l.FontName='Wide Latin'; %These two lines get the box about the right size
l.FontSize=24;
icons(2).Vertices([3 4],1) = 0.2; %This squeezes the color patch to the left
icons(1).Position(1) = 0.3; %This moves the text to the left to fit in the box
如AbraCadaver的评论中所述,使用匿名函数的时间更短:
function change_it($value) {
return $value->id;
}
$arr = array_map($arr, "change_it");
答案 1 :(得分:0)
使用箭头操作符->
检索对象值。至于迭代,简单的foreach循环可以做到。
foreach ($array as $arr) {
echo $arr->id . PHP_EOL;
}
答案 2 :(得分:0)
从PHP 7.0开始,您可以使用:
array_column($array, 'id');
在这种情况下,即使是对象数组。