PHP中的stdClass是什麼?

請定義什麼是stdClassphp


#1樓

stdClass是另外一個很棒的PHP功能。 您能夠建立一個匿名PHP類。 讓咱們來看一個例子。 web

$page=new stdClass();
$page->name='Home';
$page->status=1;

如今,您認爲您還有另外一個類,該類將使用頁面對象初始化並在該對象上執行。 數組

<?php
class PageShow {

    public $currentpage;

    public function __construct($pageobj)
    {
        $this->currentpage = $pageobj;
    }

    public function show()
    {
        echo $this->currentpage->name;
        $state = ($this->currentpage->status == 1) ? 'Active' : 'Inactive';
        echo 'This is ' . $state . ' page';
    }
}

如今,您必須使用Page Object建立一個新的PageShow對象。 網站

在這裏,無需爲此編寫新的類模板,您只需使用stdClass即時建立一個類。 this

$pageview=new PageShow($page);
    $pageview->show();

#2樓

實際上,我嘗試建立空的stdClass並將速度與空類進行比較。 spa

class emp{}

而後繼續建立1000個stdClasses和emps ...空類大約在1100微秒內完成,而stdClasses則花費了1700微秒。 所以,我想最好是建立一個本身的虛擬類來存儲數據,若是您想如此嚴重地使用對象(數組在寫入和讀取方面都快得多)。 code


#3樓

一樣 對象

$myNewObj->setNewVar = 'newVal';

產生一個stdClass對象-自動轉換 開發

我今天經過拼寫錯誤發現了這一點: 文檔

$GLOBASLS['myObj']->myPropertyObj->myProperty = 'myVal';

涼!


#4樓

使用stdClass能夠建立一個具備本身屬性的新對象。 考慮如下示例,該示例將用戶的詳細信息表示爲關聯數組。

$array_user = array();
$array_user["name"] = "smith john";
$array_user["username"] = "smith";
$array_user["id"] = "1002";
$array_user["email"] = "smith@nomail.com";

若是須要表示與對象屬性相同的詳細信息,則能夠按以下所示使用stdClass

$obj_user = new stdClass;
$obj_user->name = "smith john";
$obj_user->username = "smith";
$obj_user->id = "1002";
$obj_user->email = "smith@nomail.com";

若是您是Joomla開發人員,請參考Joomla文檔中的此示例以進一步瞭解。


#5樓

若是要快速建立一個新對象來保存有關書籍的某些數據。 您將執行如下操做:

$book = new stdClass;
$book->title = "Harry Potter and the Prisoner of Azkaban";
$book->author = "J. K. Rowling";
$book->publisher = "Arthur A. Levine Books";
$book->amazon_link = "http://www.amazon.com/dp/0439136369/";

請訪問該網站-http: //www.webmaster-source.com/2009/08/20/php-stdclass-storing-data-object-instead-array/瞭解更多詳細信息。

相關文章
相關標籤/搜索