2013-05-12 33 views
3

我有以下結果轉換對象數組到字符串分隔值

Array ( 
     [0] => stdClass Object ([name] => Identification) 
     [1] => stdClass Object ([name] => Assay) 
     [2] => stdClass Object ([name] => pH(Acidity/Alkalinity)) 
     [3] => stdClass Object ([name] => Sterility) 
    ) 

什麼,我想要的是用逗號 分開的對象數組值,並返回一個字符串,從而產生這樣的結果:

Identification, Assay, ph(Acid/Alkalinity), Sterility 

我曾嘗試以下

$data=(array)$result; 
$answer=implode(",",$data); 

這回:

Message: Object of class stdClass could not be converted to string 

如何才能實現這一目標?

+0

使用'$結果[0時,是什麼問題] - >名稱?你必須使用'foreach'來遍歷'array'裏面的'objects' – tomexsans 2013-05-12 08:04:08

+0

我想獲得所有的值不僅僅是數組中的第一個索引 – alphy 2013-05-12 08:20:55

回答

22

您錯過了處理對象數組的事實。

看起來你可以通過執行實現這一目標:

$output = array_map(function ($object) { return $object->name; }, $input); 
echo implode(', ', $output); 
+0

謝謝,這很好用 – alphy 2013-05-12 08:20:20

+0

非常感謝!節省我的時間... – 2014-03-18 23:24:02

+0

@magnetik謝謝!!! – atpatil11 2014-06-27 09:39:55

1

要在「標題」使用此功能,屬性我所做的:

echo implode('
', $output); 
相關問題