2012-11-01 47 views
0

對象我不能爲我的生活工作越來越喜歡這個對象的數組的一個很好的方式(實際上是從一個分貝更大的陣列):合併子陣與PHP

Array 
(
    [0] => stdClass Object 
     (
      [name] => Canterbury 
     ) 

    [1] => stdClass Object 
     (
      [name] => West Coast 
     ) 

) 

成單級陣列是這樣的:

Array 
(
    [0] => Canterbury 
    [1] => West Coast 
) 

所以,當我做了json_encode,它看起來像這樣:

{"0":"Canterbury","1":"West Coast"} 

而TH這一個:

[{"name":"Canterbury"},{"name":"West Coast"}] 

我已經嘗試了各種東西,比如使用PHP的陣列組合和合並功能,但沒有運氣。

+0

'{ 「名」: 「坎特伯雷」 「name」:「West Coast」}'---這是不可能的 – zerkms

+0

'{「name」:「Canterbury」,「name」:「West Coast」}'定義了一個具有兩個'name'屬性的對象。你爲什麼要這樣? – akatakritos

+0

對不起,我的意思是 - {「0」:「坎特伯雷」,「1」:「西海岸」}已經改變了相應的問題。 – routeburn

回答

0

很簡單:

$output = array(); 
foreach($objectArray as $oneObject) 
    $output[] = $oneObject->name; 
echo json_encode($output); 
+0

真棒這給我分類。我的主要問題是沒有意識到你可以'索引'名稱屬性不帶引號。 – routeburn

+0

'$ output []'在這種情況下更常見並且可讀 – zerkms

0

好吧,我想你只需要把對象的name屬性來代替陣列的價值:

foreach($array as $key => $value){ 
    $value = $value->name 
}