PHP使用new StdClass()創(chuàng)建空對象的方法分析
本文實例講述了PHP使用new StdClass()創(chuàng)建空對象的方法。分享給大家供大家參考,具體如下:
PHP可以用 $object = new StdClass();
創(chuàng)建一個沒有成員方法和屬性的空對象。
很多時候,程序員們會將一些參數(shù)配置項之類的信息放在數(shù)組中使用,但是數(shù)組操作起來并不是很方便,很多時候使用對象操作符->xxx比數(shù)組操作符['xxx']要方便不少。于是就需要創(chuàng)建一個空的對象,來將需要的屬性名和屬性值存儲到對象中。
然而PHP中沒有Javascript里面 var object = {};
這樣的語法。
PHP創(chuàng)建空對象至少可以使用3種方法實現(xiàn)
方法一:寫一個空類
勉強能完成任務(wù),但是特別沒有格局。
<?php class cfg { } $cfg = new cfg; $cfg->dbhost = 'www.dbjr.com.cn'; echo $cfg->dbhost; ?>
方法二:實例化 StdClass 類
StdClass類是PHP中的一個基類,然而比較詭異的是PHP手冊里面血幾乎沒有提到過這個類,至少在PHP索引中是搜索不到這個類的。
StdClass類沒有任何成員方法,也沒有任何成員屬性,實例化以后就是一個空對象。
<?php $cfg = new StdClass(); $cfg->dbhost = 'www.dbjr.com.cn'; echo $cfg->dbhost; ?>
方法三:折騰json_encode()和json_decode()
這種方法就是把一個空的JSON對象通過json_decode()
轉(zhuǎn)變?yōu)镻HP的StdClass空對象。
同樣的道理,你可以將一個數(shù)組通過json_encode()
轉(zhuǎn)成JSON,再通過json_decode()
將JSON轉(zhuǎn)為StdClass對象,
關(guān)于這兩個函數(shù),可以參考PHP手冊。
<?php $cfg = json_decode('{}'); $cfg->dbhost = 'www.dbjr.com.cn'; echo $cfg->dbhost; ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- php使用變量動態(tài)創(chuàng)建類的對象用法示例
- PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復(fù)制, 對象的比較,加載指定的文件,自動加載類文件,命名空間
- 一個ASP創(chuàng)建動態(tài)對象的工廠類(類似PHP的stdClass)
- php單例模式實現(xiàn)(對象只被創(chuàng)建一次)
- PHP面向?qū)ο蟮倪M階學(xué)習(xí)(抽像類、接口、final、類常量)
- php學(xué)習(xí)筆記 類的聲明與對象實例化
- php面向?qū)ο笕ヂ?(二) 實例化對象 使用對象成員
- PHP對象實例化單例方法
- PHP面向?qū)ο笕筇攸c學(xué)習(xí)(充分理解抽象、封裝、繼承、多態(tài))
- php初始化對象和析構(gòu)函數(shù)的簡單實例
- PHP創(chuàng)建對象的六種方式實例總結(jié)
相關(guān)文章
PHP 獲取MySQL數(shù)據(jù)庫里所有表的實現(xiàn)代碼
獲取某個MySQL數(shù)據(jù)庫中所有表的PHP代碼如下,需要的朋友可以參考下。2011-07-07php版本CKEditor 4和CKFinder安裝及配置方法圖文教程
這篇文章主要介紹了php版本CKEditor 4和CKFinder安裝及配置方法,結(jié)合圖文與實例形式詳細分析了php安裝及配置CKEditor 4和CKFinder相關(guān)實現(xiàn)步驟、操作技巧與注意事項,需要的朋友可以參考下2019-06-06Json_decode 解析json字符串為NULL的解決方法(必看)
下面小編就為大家?guī)硪黄狫son_decode 解析json字符串為NULL的解決方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02真正根據(jù)utf8編碼的規(guī)律來進行截取字符串的函數(shù)(utf8版sub_str )
真正根據(jù)utf8編碼的規(guī)律來進行截取的字符的函數(shù),utf8版sub_str 支持1~6個字節(jié)的字符的截取,而非只針對中文,比網(wǎng)上的全2012-10-10php封裝pdo實例以及pdo長連接的優(yōu)缺點總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于php封裝pdo實例以及pdo長連接的優(yōu)缺點總結(jié)內(nèi)容,對此有興趣的朋友們可以跟著學(xué)習(xí)下。2021-12-12Windows下的PHP安裝文件線程安全和非線程安全的區(qū)別
Windows版的PHP從版本5.2.1開始有Thread Safe。這兩者不同在于何處?到底應(yīng)該用哪種?這里做一個簡單的介紹2014-04-04php實現(xiàn)的DateDiff和DateAdd時間函數(shù)代碼分享
這篇文章主要介紹了php實現(xiàn)的DateDiff和DateAdd時間函數(shù)代碼分享,DateDiff用來計算兩個時間的間隔,DateAdd用來對兩個時間進行相加,需要的朋友可以參考下2014-08-08