2014-02-06 73 views
1

我需要以下數組轉換: -對象的轉換數組關聯數組

Array 
(
    [0] => stdClass Object 
     (
      [id] => 
      [risk_reference] => 
      [risk_version] => 
      [bsi] => 10.00 
     ) 

) 

以下陣列: -

Array 
(
    [id] => 
    [risk_reference] => 
    [risk_version] => 
    [bsi] => 10.00 

) 

我試圖通過類型轉換做到這一點。但它沒有給我輸出。 我還檢查this link

以上$結果=(陣列)($數組[0])爲我工作得很好。

但是如果我有下面那麼我該怎麼辦?

Array 
(
    [0] => stdClass Object 
     (
      [id] => 
      [risk_reference] => 
      [risk_version] => 
      [bsi] => 10.00 
     ) 
    [1] => stdClass Object 
     (
      [id] => 
      [risk_reference] => 
      [risk_version] => 
      [bsi] => 20.00 
     ) 

) 
+4

'$ result =(array)($ array [0])'。你用鑰匙'0'把這個元素放到數組中,沒有什麼特別的事情發生。 – Jon

+0

是@Jon它確實做了我的工作。感謝這個出色的解決方案。但1個問題。如果我有多個對象元素,那麼我該怎麼做? – ripa

+1

我無法充滿信心地回答,因爲你沒有說出你會期待什麼結果。爲什麼不編輯這個問題並舉例說明呢?這將讓人們更好地幫助你。 – Jon

回答

1

試試這個

$array = (array)($array[0]); 
0

試試這個

$yourArray = array(); 
$i=0; 
foreach ($yourObject as $key => $value) { 
    $yourArray[$i]['id'] = $value->id; 
    $yourArray[$i]['risk_reference'] = $value->risk_reference; 
    $yourArray[$i]['risk_version'] = $value->risk_version; 
    $yourArray[$i]['bsi'] = $value->bsi; 
    $i+=1; 
} 
print_r($yourArray); 
0

http://php.net/get_object_vars

根據範圍獲取給定對象的訪問非靜態屬性。

返回定義對象的關聯數組,該對象在範圍中指定的對象可以訪問非靜態屬性。如果一個屬性沒有被賦值,它將返回一個NULL值。