2016-09-03 39 views
-1

我m到處以下outout:如何在PHP中獲取數組對象?

"sendto": { 
     "0": { 
      "userid": "1", 
      "username": "jagat", 
      "isAccepted": "NO" 
     }, 
     "1": { 
      "userid": "4", 
      "username": "Rahil", 
      "isAccepted": "NO" 
     }, 
    } 

我要像在JSON響應輸出如下:

"sendto": [ 
    { 
    "userid": "1", 
    "username": "jagat", 
    "isAccepted": "NO" 
    }, 
    { 
    "userid": "4", 
    "username": "Rahil", 
    "isAccepted": "NO" 
    } 
] 

請幫助我。感謝

+1

到目前爲止您嘗試了什麼? –

+0

我嘗試創建數組像給定的JSON響應輸出(2)。但我喜歡上面的輸出(1)。 –

+1

他們要求的是看到你迄今爲止編寫的代碼。如果沒有看到它,我們會認爲你沒有試圖自己解決這個問題,而只是想讓別人爲你做你的工作。 –

回答

0

PHP轉化陣列與json_encode對象,如果密鑰不從0開始連續號碼,因爲在JavaScript的陣列不具有鍵(它具有索引),但在PHP它可以。

因此,像這樣在PHP ...

$data = [["foo" => "bar"],["baz" => "quix"],3=>["quax" => "quacks"]]; 
echo json_encode($data); 

給你...

 
{ 
    "0": { 
     "foo": "bar" 
    }, 
    "1": { 
     "baz": "quix" 
    }, 
    "3": { 
     "quax": "quacks" 
    } 
} 

所以,如果你總是希望一個數組,你必須確保有json_encode在編碼之前使用array_values

$data = [["foo" => "bar"],["baz" => "quix"],3=>["quax" => "quacks"]]; 
echo json_encode(array_values($data)); 

現在你...

 
[ 
    { 
     "foo": "bar" 
    }, 
    { 
     "baz": "quix" 
    }, 
    { 
     "quax": "quacks" 
    } 
] 

因爲數組鍵將回到0, 1, 2這意味着它們可以安全地被序列化到JSON作爲數組。否則,PHP假定您打算使用鍵"0", "1", "3"創建一個對象。