本文實例講述了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相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。