2013-07-03 186 views
0

我有一個來自twitter的std類對象,我想將這個ID數組值放到一個php變量$ ids中,其中$ids = (15761916,30144785,382747195,19399719)將std對象類轉換爲逗號分隔的字符串

我想象一下使用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

你想要的結果是什麼? – vikingmaster

+0

逗號分隔的字符串,如標題中所示。 –

+0

$ ids =(15761916,30144785,382747195,19399719) –

回答

4
$ids = "(" . implode(",", $object->ids) . ")"; 
+0

謝謝。 8分鐘後會接受答案 –

0

使用此功能將轉換成數組

$vars = get_object_vars ($Obj); 
print_r ($vars); 
$ids = implode (",", $vars[ids]); 
+1

一個想要數組的值作爲逗號分隔的字符串不是所有的變量。 –

+1

@DaGhostmanDimitrov vars包含整個數組根據需要使用.. –

+0

對不起m8 ..沒看過編輯:) –

1

最簡單的方式,我不知道這是否會工作(對不起!),因爲我不傾向於使用了很多的stdClass的對象是這樣的...是使用一個陣圖...

$ids = function (stdClass Object $object) { 
    return implode (",", $object->ids); 
}; 

也許類似的東西,不能完全肯定這是否是正確的語法......我PHO ne目前。給那一槍!

我做了一個lambda函數的習慣中,你可以很容易做到:

$ids = implode (",", $object->ids); 
0

爲擴展答案u有2個選項:)

月1日是實施Serializable Interface這樣做U可以使用序列化功能,以獲得所需的輸出:

public function serialize() { 
    return array_implode(',', $this->ids); 
} 

OR

public function __toString() { 
    return array_implode(',', $this->ids); 
} 

和使用變爲:

  1. 序列化:

    的serialize($ object_instance);

  2. __toString:

    打印$ object_instance;

都將要給你所需的輸出,所以ü不需要添加額外的開銷使用函數或內嵌腳本使用array_implode()

相關問題