Object 對(duì)象

對(duì)象初始化

要?jiǎng)?chuàng)建一個(gè)新的對(duì)象 object,使用 new 語(yǔ)句實(shí)例化一個(gè)類:

<?php
class foo
{
    function 
do_foo()
    {
        echo 
"Doing foo."
    }
}

$bar = new foo;
$bar->do_foo();
?>

詳細(xì)討論參見(jiàn)手冊(cè)中類與對(duì)象章節(jié)。

轉(zhuǎn)換為對(duì)象

如果將一個(gè)對(duì)象轉(zhuǎn)換成對(duì)象,它將不會(huì)有任何變化。如果其它任何類型的值被轉(zhuǎn)換成對(duì)象,將會(huì)創(chuàng)建一個(gè)內(nèi)置類 stdClass 的實(shí)例。如果該值為 null,則新的實(shí)例為空。 array 轉(zhuǎn)換成 object 將使鍵名成為屬性名并具有相對(duì)應(yīng)的值。注意:在這個(gè)例子里, 使用 PHP 7.2.0 之前的版本,數(shù)字鍵只能通過(guò)迭代訪問(wèn)。

<?php
$obj 
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // PHP 7.2.0 后輸出 'bool(true)',之前版本會(huì)輸出 'bool(false)' 
var_dump(key($obj)); // PHP 7.2.0 后輸出 'string(1) "1"',之前版本輸出  'int(1)' 
?>

對(duì)于其他值,會(huì)包含進(jìn)成員變量名 scalar。

<?php
$obj 
= (object) 'ciao';
echo 
$obj->scalar;  // 輸出 'ciao'
?>