0
我想通過mutidimentional遞歸對象/數組結構來創建json,但以下工作不正常。$ data被重置,但我不知道如何防止這種情況。php拒絕卡住
public function encodeJSON($data)
{
foreach ($data as $key => $value)
{
if(is_array($value)|| is_object($value))
{
$json->$key = $this->encodeJSON($value);
}
else
{
$json->$key = $value;
}
}
return json_encode($json);
}
當你的思維過程是有點關閉,因此這並不會真正創造有效的JSON,它遞歸和'$ data'不復位。它會生成一個包含嵌套數組的所有值的字符串。我在幾個陣列上測試過它。 –
附註:單獨編碼值會產生不正確的JSON!你最終會得到像{{「foo」:「{」bar \「:\」baz \「}」}'而不是想要的{{「foo」:{「bar」:「baz」}} }'。您需要一次編碼整個對象/數組。 – deceze
@丹 - 確實如此。我不確定mike628在這裏試圖做什麼。 Mike - json_encode($ data)的返回值有什麼問題;'? json_encode()完全能夠序列化數組和對象! – timdev