本文實(shí)例講述了PHP使用new StdClass()創(chuàng)建空對(duì)象的方法。分享給大家供大家參考,具體如下:
PHP可以用 $object = new StdClass();
創(chuàng)建一個(gè)沒有成員方法和屬性的空對(duì)象。
很多時(shí)候,程序員們會(huì)將一些參數(shù)配置項(xiàng)之類的信息放在數(shù)組中使用,但是數(shù)組操作起來并不是很方便,很多時(shí)候使用對(duì)象操作符->xxx比數(shù)組操作符['xxx']要方便不少。于是就需要?jiǎng)?chuàng)建一個(gè)空的對(duì)象,來將需要的屬性名和屬性值存儲(chǔ)到對(duì)象中。
然而PHP中沒有Javascript里面 var object = {};
這樣的語(yǔ)法。
PHP創(chuàng)建空對(duì)象至少可以使用3種方法實(shí)現(xiàn)
方法一:寫一個(gè)空類
勉強(qiáng)能完成任務(wù),但是特別沒有格局。
<?php class cfg { } $cfg = new cfg; $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
方法二:實(shí)例化 StdClass 類
StdClass類是PHP中的一個(gè)基類,然而比較詭異的是PHP手冊(cè)里面血幾乎沒有提到過這個(gè)類,至少在PHP索引中是搜索不到這個(gè)類的。
StdClass類沒有任何成員方法,也沒有任何成員屬性,實(shí)例化以后就是一個(gè)空對(duì)象。
<?php $cfg = new StdClass(); $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
方法三:折騰json_encode()和json_decode()
這種方法就是把一個(gè)空的JSON對(duì)象通過json_decode()
轉(zhuǎn)變?yōu)镻HP的StdClass空對(duì)象。
同樣的道理,你可以將一個(gè)數(shù)組通過json_encode()
轉(zhuǎn)成JSON,再通過json_decode()
將JSON轉(zhuǎn)為StdClass對(duì)象,
關(guān)于這兩個(gè)函數(shù),可以參考PHP手冊(cè)。
<?php $cfg = json_decode('{}'); $cfg->dbhost = 'www.jb51.net'; echo $cfg->dbhost; ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。