PHP中的一個預定義類——stdClass

來源:互聯網
上載者:User

今天看一段代碼時,發現裡面用到了stdClass這個東東。從上下文可以看出,這並不是一個自訂類,應該內建在PHP中。

因此它可以直接使用:

$obj = new stdClass;<br />$obj->name = 'linvo';<br />$obj->age = 22;<br />var_dump($obj); 

手冊中除了說到它是5.0以後引入的一個預定義類外,貌似沒有做過多介紹。

上網搜了一下才瞭解到:

stdClass是PHP的一個基類,所有的類幾乎都繼承這個類,所以任何時候都可以被new,可以讓這個變數成為一個object。同時,這個基類又有一個特殊的地方,就是沒有方法。

這樣的東西要他有什麼用?一般來說,它可以讓編程人員簡單的儲存一系列變數。

那為什麼不用數組呢?在PHP這種弱類型語言中,數組是比較方便,但是有時數組有一個弊端,就是在進行諸如:$array1 = $array2; 這樣的操作時候,PHP會產生一個$array2的副本給$array1。而在5.0以後的版本裡,對象賦值則不會這樣,而是直接傳引用(類似於PHP4中 $obj1 = &$obj2;)。

 

目前只瞭解這麼多:)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.