這篇文章主要介紹了PHP使用new StdClass()創建空物件的方法,結合具體實例形式分析了php空物件的建立與使用方法,需要的朋友可以參考下
本文實例講述了PHP使用new StdClass()建立空物件的方法。分享給大家供大家參考,具體如下:
PHP可以用 $object = new StdClass();
建立一個沒有成員方法和屬性的空物件。
很多時候,程式設計師們會將一些參數配置項之類的資訊放在陣列中使用,但是陣列操作起來並不是很方便,很多時候使用物件運算子->xxx比陣列操作符['xxx']要方便不少。於是就需要建立一個空的對象,來將需要的屬性名稱和屬性值儲存到對象。
然而PHP中沒有Javascript裡面 var object = {};
這樣的語法。
PHP建立空物件至少可以使用3種方法實作
方法一:寫一個空類別
勉強能完成任務,但特別沒有格局。
<?php class cfg { } $cfg = new cfg; $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
方法二:實例化StdClass 類別
StdClass類別是PHP中的一個基類,然而比較詭異的是PHP手冊裡面血幾乎沒有提到這個類,至少在PHP索引是搜尋不到這個類的。
StdClass類別沒有任何成員方法,也沒有任何成員屬性,實例化以後就是一個空物件。
<?php $cfg = new StdClass(); $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
方法三:折騰json_encode()和json_decode()
這種方法就是把一個空的JSON物件透過json_decode()
轉變為PHP的StdClass空物件。
同樣的道理,你可以將一個陣列透過json_encode()
轉成JSON,再透過json_decode()
將JSON轉為StdClass對象,
關於這兩個函數,可以參考PHP手冊。
<?php $cfg = json_decode('{}'); $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
以上是PHP使用new StdClass()建立空物件的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!