我有来自twitter的std类对象,我想获取id数组值并将它们放在php变量$ ids $ids = (15761916,30144785,382747195,19399719)
中。
我想使用for循环并使用phps implode,但我不确定如何去做。
stdClass Object
(
[ids] => Array
(
[0] => 15761916
[1] => 30144785
[2] => 382747195
[3] => 19399719
)
[next_cursor] => 0
[next_cursor_str] => 0
[previous_cursor] => 0
[previous_cursor_str] => 0
)
答案 0 :(得分:4)
$ids = "(" . implode(",", $object->ids) . ")";
答案 1 :(得分:1)
最简单的方法,我不知道这是否有效(对不起!),因为我不倾向于使用这样的很多stdClass对象...将使用数组映射..
$ids = function (stdClass Object $object) {
return implode (",", $object->ids);
};
也许是这样的,不完全确定这是否是正确的语法...目前在我的手机上。试一试!
我用habbit做了一个lambda函数,你可以轻松做到:
$ids = implode (",", $object->ids);
答案 2 :(得分:0)
使用此函数转换为数组
$vars = get_object_vars ( $Obj );
print_r ( $vars );
$ids = implode (",", $vars[ids]);
答案 3 :(得分:0)
作为一个扩展答案,你有两个选择:)
第一个是通过这样做实现Serializable Interface你可以使用序列化函数来获得所需的输出:
public function serialize() {
return array_implode(',', $this->ids);
}
OR
public function __toString() {
return array_implode(',', $this->ids);
}
,用法变为:
序列化:
的serialize($ object_instance);
__的toString:
print $ object_instance;
两者都会给你所需的输出,所以你不需要增加额外的开销来使用函数或在内联脚本中使用array_implode()
。