我有一个如下所示的数组:
Array
(
[0] => stdClass Object
(
[user_id] => 10
[date_modified] => 2010-07-25 01:51:48
)
[1] => stdClass Object
(
[user_id] => 16
[date_modified] => 2010-07-26 14:37:24
)
[2] => stdClass Object
(
[user_id] => 27
[date_modified] => 2010-07-26 16:49:17
)
[3] => stdClass Object
(
[user_id] => 79
[date_modified] => 2010-08-08 18:53:20
)
)
我需要做的是打印出用户ID的逗号分隔:
10,16,27,79
我猜它是在for循环中,但我正在寻找在PHP中实现它的最有效方法
哦,数组名称是:$ mArray
我试过这个:
foreach($mArray as $k => $cur)
{
echo $cur['user_id'];
echo ',';
}
其他人的建议。
但是我一直收到这个错误:
致命错误:无法使用stdClass类型的对象作为数组。
我认为这是因为这个数组不是典型的数组所以它需要一些不同的语法?
答案 0 :(得分:2)
每个数组元素都是(匿名)对象,user_id
是属性。使用对象属性访问语法(->
)来访问它:
foreach($mArray as $k => $cur)
{
echo $cur->user_id;
echo ',';
}
答案 1 :(得分:2)
foreach ($mArray as $cur){
echo $cur->user_id;
}
你可以这样做,因为你正在使用对象
答案 2 :(得分:2)
如果您想避免使用逗号(,
)。
$ids = array();
foreach ($array as $obj){
$ids[] = $obj->user_id;
}
echo join(', ', $ids);
答案 3 :(得分:1)
非常接近......
foreach($mArrray as $k => $cur)
{
echo $cur->user_id.', ';
}