php中stdClass的用法分析

2021-07-31 13:57:31 字數 1201 閱讀 2023

這篇文章主要介紹了php中stdclass的用法,例項分析了stdclass的功能及使用技巧,具有一定參考借鑑價值,需要的朋友可以參考下

stdclass在php中是預定義的幾個類之一,是zent保留的乙個類。實際上它是php提供的乙個基類,就是乙個空白的類,裡面什麼都沒有,我們可以例項化它,然後定義一系列的變數,通過它來進行變數的傳遞(很多php程式設計師用它來傳遞一系列變數的值,而同時又懶得去建立乙個自己的類)。但是,由於例項化後不能新增方法,只能傳遞屬性。因為,一旦類被實列化以後,就不能在新增方法了。

stdclass可以作為基類使用,其最大特點是,(其派生類)可以自動新增成員變數,而無須在定義時說明。

一切php變數都是stdclass的例項。

這篇文章主要介紹了php中的stdclass類,用白話介紹了stdclass類,需要的朋友可以參考下

相信大家跟我一樣,會經常看到和下面很類似的php**:

複製**

**如下:

$user = new stdclass();

$user->name = 'gouki';

複製**

**如下:

$user = new stdclass();

$user->name = 'gouki';

$myuser = $user;

$myuser->name = 'flypig';

如果在php4時代,這樣的**就是在消耗系統資源。因為:

$myuser = $user;

這是建立了乙個拷貝。所以,在php4的時候,都是這樣使用:

複製**

**如下:

$myuser = & $user;

有人說,為什麼不用陣列呢?陣列不是更方便嗎?而且對於php這樣的弱型別程式來說,用陣列應該是最方便的。

確實。陣列在程式的使用中應該是最方便的,然而陣列的每次被引用($a = $b),其實都是建立了乙個副本,而且,陣列被unset後,還是占用了記憶體(這個是聽人說來的,我沒有測試……也不知道怎麼測試,如果有人知道,請告訴我,謝謝 )

不過spl的標準類庫里,還有乙個函式arrayobject,可以直接將陣列轉化為物件這也是乙個好辦法哦。

需要注意的是,在函式裡面使用global、static時遇new stdclass引用的情況,這時&new stdclass將會失效,應避免使用引用,直接用new stdclass。

希望本文所述對大家的php程式設計有所幫助。

php中stdClass的用法分析

stdclass在php中是預定義的幾個類之一,是zent保留的乙個類。實際上它是php提供的乙個基類,就是乙個空白的類,裡面什麼都沒有,我們可以例項化它,然後定義一系列的變數,通過它來進行變數的傳遞 很多php程式設計師用它來傳遞一系列變數的值,而同時又懶得去建立乙個自己的類 但是,由於例項化後不...

PHP中stdClass的意義

在wordpress中很多地方使用stdclass來定義乙個物件 而通常是用陣列的方式 然後使用get object vars來把定義的物件 轉換 成陣列。如下 所示 tanteng new stdclass tanteng name tanteng tanteng email qq.com inf...

php中 files的用法

files主要用在當需要上傳二進位制檔案的地方,錄入上傳乙個abc.檔案,則伺服器端需要獲得該檔案的相關資訊,則通過變數 files來取得。files userfile name 客戶端機器檔案的原名稱。files userfile type 檔案的 mime 型別,需要瀏覽器提供該資訊的支援,例如...