主頁 > 知識庫 > PHP面向?qū)ο蟪绦蛟O(shè)計內(nèi)置標(biāo)準(zhǔn)類,普通數(shù)據(jù)類型轉(zhuǎn)為對象類型示例

PHP面向?qū)ο蟪绦蛟O(shè)計內(nèi)置標(biāo)準(zhǔn)類,普通數(shù)據(jù)類型轉(zhuǎn)為對象類型示例

熱門標(biāo)簽:團(tuán)購網(wǎng)站 服務(wù)器配置 銀行業(yè)務(wù) 阿里云 科大訊飛語音識別系統(tǒng) Linux服務(wù)器 電子圍欄 Mysql連接數(shù)設(shè)置

本文實例講述了PHP面向?qū)ο蟪绦蛟O(shè)計內(nèi)置標(biāo)準(zhǔn)類,普通數(shù)據(jù)類型轉(zhuǎn)為對象類型。分享給大家供大家參考,具體如下:

內(nèi)置標(biāo)準(zhǔn)類

PHP中,有很多“現(xiàn)成的類”,其中有一個被稱為“內(nèi)置標(biāo)準(zhǔn)類”。這個類“內(nèi)部”可以認(rèn)為什么也沒有。

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]

可以看到和普通類沒什么區(qū)別。

內(nèi)置標(biāo)準(zhǔn)類的作用是,用于存儲一些臨時的簡單數(shù)據(jù),如:

$obj1->pp1 = 1;
$obj2->port = '3306';

也可以在類型轉(zhuǎn)換時用于存儲數(shù)據(jù)。

對象的類型轉(zhuǎn)換

其他數(shù)據(jù)類型轉(zhuǎn)換為對象類型,得到的結(jié)果是:內(nèi)置標(biāo)準(zhǔn)類(stdclass)的一個對象。

語法形式為:

$obj = (object)其他類型數(shù)據(jù);

數(shù)組轉(zhuǎn)換為對象:數(shù)組的鍵名當(dāng)作屬性名,值為對象對應(yīng)的值。

注意:數(shù)字下標(biāo)的數(shù)據(jù)元素,轉(zhuǎn)換為對象后的屬性,無法通過對象語法獲取,因此不推薦轉(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)為對象的話,無法通過對象語法獲取。

?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;//會報錯!
?>

運(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;//會報錯!
?>

null轉(zhuǎn)換為對象:空對象

$obj = (object)null;

其他標(biāo)量數(shù)據(jù)轉(zhuǎn)換為對象:屬性名為固定的”scalar“,值為該變量的值

?php
$v1 = 1;
$v2 = 2.2;
$v3 = "abc";
$v4 = true;
$objv1 = (object)$v1;  //整型轉(zhuǎn)為對象類型
$objv2 = (object)$v2;  //浮點型轉(zhuǎn)為對象類型
$objv3 = (object)$v3;  //字符串型為對象類型
$objv4 = (object)$v4;  //布爾轉(zhuǎn)為對象類型
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 1

object(stdClass)[2]
  public 'scalar' => float 2.2

object(stdClass)[3]
  public 'scalar' => string 'abc' (length=3)

object(stdClass)[4]
  public 'scalar' => boolean true

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • 實例解析php的數(shù)據(jù)類型
  • 淺談php中變量的數(shù)據(jù)類型判斷函數(shù)
  • PHP檢測數(shù)據(jù)類型的幾種方法(總結(jié))
  • PHP中數(shù)據(jù)類型轉(zhuǎn)換的三種方式
  • PHP七種數(shù)據(jù)類型知識點總結(jié)

標(biāo)簽:大理 衢州 衡水 江蘇 萍鄉(xiāng) 廣元 棗莊 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP面向?qū)ο蟪绦蛟O(shè)計內(nèi)置標(biāo)準(zhǔn)類,普通數(shù)據(jù)類型轉(zhuǎn)為對象類型示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266