PHP面向?qū)ο蟪绦蛟O(shè)計(jì)內(nèi)置標(biāo)準(zhǔn)類(lèi),普通數(shù)據(jù)類(lèi)型轉(zhuǎn)為對(duì)象類(lèi)型示例
本文實(shí)例講述了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)內(nèi)置標(biāo)準(zhǔn)類(lèi),普通數(shù)據(jù)類(lèi)型轉(zhuǎn)為對(duì)象類(lèi)型。分享給大家供大家參考,具體如下:
內(nèi)置標(biāo)準(zhǔn)類(lèi)
PHP中,有很多“現(xiàn)成的類(lèi)”,其中有一個(gè)被稱(chēng)為“內(nèi)置標(biāo)準(zhǔn)類(lèi)”。這個(gè)類(lèi)“內(nèi)部”可以認(rèn)為什么也沒(méi)有。
class stdclass{ }
<?php
$obj1 = new stdclass();
var_dump($obj1);
class A{}
$obj2 = new A();
var_dump($obj2);
?>
運(yùn)行結(jié)果:
object(stdClass)[1]
object(A)[2]
可以看到和普通類(lèi)沒(méi)什么區(qū)別。
內(nèi)置標(biāo)準(zhǔn)類(lèi)的作用是,用于存儲(chǔ)一些臨時(shí)的簡(jiǎn)單數(shù)據(jù),如:
$obj1->pp1 = 1; $obj2->port = '3306';
也可以在類(lèi)型轉(zhuǎn)換時(shí)用于存儲(chǔ)數(shù)據(jù)。
對(duì)象的類(lèi)型轉(zhuǎn)換
其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換為對(duì)象類(lèi)型,得到的結(jié)果是:內(nèi)置標(biāo)準(zhǔn)類(lèi)(stdclass)的一個(gè)對(duì)象。
語(yǔ)法形式為:
$obj = (object)其他類(lèi)型數(shù)據(jù);
數(shù)組轉(zhuǎn)換為對(duì)象:數(shù)組的鍵名當(dāng)作屬性名,值為對(duì)象對(duì)應(yīng)的值。
注意:數(shù)字下標(biāo)的數(shù)據(jù)元素,轉(zhuǎn)換為對(duì)象后的屬性,無(wú)法通過(guò)對(duì)象語(yǔ)法獲取,因此不推薦轉(zhuǎn)換。
<?php $config = array( 'host' => "localhost", 'port' => 3306, 'user' => "root", 'pass' => "123", 'charset' => "utf8", 'dbname' => "yeoman", ); $obj1 = (object)$config; var_dump($obj1); echo "<br />單獨(dú)取出user:" . $obj1->user; ?>
運(yùn)行結(jié)果:
object(stdClass)[1]
public 'host' => string 'localhost' (length=9)
public 'port' => int 3306
public 'user' => string 'root' (length=4)
public 'pass' => string '123' (length=3)
public 'charset' => string 'utf8' (length=4)
public 'dbname' => string 'yeoman' (length=6)
單獨(dú)取出user:root
但是數(shù)組中有下標(biāo)元素,轉(zhuǎn)為對(duì)象的話(huà),無(wú)法通過(guò)對(duì)象語(yǔ)法獲取。
<?php
$arr = array('pp1' => 1, 5 => 12);
$obj2 = (object)$arr;
var_dump($obj2);
echo "<br />單獨(dú)取出pp1:" . $obj2->pp1;
//echo "<br />單獨(dú)取出5:" . $obj2->5;//會(huì)報(bào)錯(cuò)!
?>
運(yùn)行結(jié)果:
$arr = array('pp1' => 1, 5 => 12);
$obj2 = (object)$arr;
var_dump($obj2);
echo "<br />單獨(dú)取出pp1:" . $obj2->pp1;
//echo "<br />單獨(dú)取出5:" . $obj2->5;//會(huì)報(bào)錯(cuò)!
?>
null轉(zhuǎn)換為對(duì)象:空對(duì)象
$obj = (object)null;
其他標(biāo)量數(shù)據(jù)轉(zhuǎn)換為對(duì)象:屬性名為固定的”scalar“,值為該變量的值
<?php $v1 = 1; $v2 = 2.2; $v3 = "abc"; $v4 = true; $objv1 = (object)$v1; //整型轉(zhuǎn)為對(duì)象類(lèi)型 $objv2 = (object)$v2; //浮點(diǎn)型轉(zhuǎn)為對(duì)象類(lèi)型 $objv3 = (object)$v3; //字符串型為對(duì)象類(lèi)型 $objv4 = (object)$v4; //布爾轉(zhuǎn)為對(duì)象類(lèi)型 var_dump($objv1); echo "<br />"; var_dump($objv2); echo "<br />"; var_dump($objv3); echo "<br />"; var_dump($objv4); echo "<br />";
運(yùn)行結(jié)果為:
object(stdClass)[1]
public 'scalar' => int 1object(stdClass)[2]
public 'scalar' => float 2.2object(stdClass)[3]
public 'scalar' => string 'abc' (length=3)object(stdClass)[4]
public 'scalar' => boolean true
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php 模擬POST|GET操作實(shí)現(xiàn)代碼
很早的時(shí)候,參加面試,需要使用php的函數(shù)模擬一個(gè)post訪(fǎng)問(wèn)。盡管對(duì)php很熟悉,但是由于面試之前很長(zhǎng)時(shí)間沒(méi)有使用php語(yǔ)言,所以就沒(méi)有答上來(lái)。2010-07-07
ThinkPHP刪除欄目(實(shí)現(xiàn)批量刪除欄目)
下面小編就為大家?guī)?lái)一篇ThinkPHP刪除欄目(實(shí)現(xiàn)批量刪除欄目)。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
php實(shí)現(xiàn)獲取及設(shè)置用戶(hù)訪(fǎng)問(wèn)頁(yè)面語(yǔ)言類(lèi)
這篇文章主要介紹了php實(shí)現(xiàn)獲取及設(shè)置用戶(hù)訪(fǎng)問(wèn)頁(yè)面語(yǔ)言類(lèi),可實(shí)現(xiàn)獲取/設(shè)置用戶(hù)訪(fǎng)問(wèn)的頁(yè)面語(yǔ)言,如果用戶(hù)沒(méi)有設(shè)置訪(fǎng)問(wèn)語(yǔ)言,則讀取Accept-Language,需要的朋友可以參考下2014-09-09
PHP+MySQL實(shí)現(xiàn)的簡(jiǎn)單投票系統(tǒng)實(shí)例
這篇文章主要介紹了PHP+MySQL實(shí)現(xiàn)的簡(jiǎn)單投票系統(tǒng),以完整實(shí)例形式分析了PHP+MySQL實(shí)現(xiàn)投票功能的具體功能代碼與相關(guān)技巧,需要的朋友可以參考下2016-02-02
php基于curl主動(dòng)推送最新內(nèi)容給百度收錄的方法
這篇文章主要介紹了php基于curl主動(dòng)推送最新內(nèi)容給百度收錄的方法,分析了百度鏈接的提交方式及curl主動(dòng)推送的實(shí)現(xiàn)方法,需要的朋友可以參考下2016-10-10
php獲取ip及網(wǎng)址的簡(jiǎn)單方法(必看)
下面小編就為大家?guī)?lái)一篇php獲取ip及網(wǎng)址的簡(jiǎn)單方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
PHP foreach遍歷多維數(shù)組實(shí)現(xiàn)方式
這篇文章主要為大家詳細(xì)介紹了PHP foreach遍歷多維數(shù)組實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11

