摘要:PHP - 初始stdClass及array
今天遇到一個問題
就是有一個$Result 他的proerties是由變數設定的
如下
unset($Result);
$value = "";
$Result->$value = "1";
結果發生如下的錯誤
Cannot access empty property
原來是屬性是不能為空白的。
所以我就改為使用
$Result[$value] = "1";
這樣是可以的
但無法相容過去的程式。
可能原因,是$Result[$value]是一個array
$Result->$value是一個物件。
所以造成過去程式要相容就出現很多問題。
所以又得改為原本的樣子,只能濾過空白的資料。
而測試的時候,因為保留Notice,所以會產生很多錯誤,
如果要使用Object
必須要事先初始化。
$Result = new stdClass();
如果要使用Array
則要使用
$Result = array();
而輸出則不能直接對array或class直接輸出。
使用echo json_encode($Result);
輸出的結果都是一樣的,只是執行過程的程式碼撰寫與取用不同。