這篇文章主要介紹了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 型別,需要瀏覽器提供該資訊的支援,例如...