PHP - 初始stdClass及array

摘要: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);

 

輸出的結果都是一樣的,只是執行過程的程式碼撰寫與取用不同。