PHP stdClass类使用详解
nbsp
tmp
user
PHP stdClass类使用详解
对于一维数组,通过PHP的stdClass类我们可以把他写成对象的形式
如
<p>$tmp = array();</p>$tmp['a'] = 1;<br />$tmp['b'] = 2;<br /><p>$tmp['c'] = 3;</p>
登入後複製
通过PHP的stdClass类写法:
<br />$tmp = new stdClass();<br />$tmp->a = 1;<br />$tmp->b = 2;<br /><p>$tmp->c = 3;</p>
登入後複製
新建空数组只要$tmp = array();
新建空对象只要$tmp = new stdClass();
其实,stdClass在PHP5才开始被流行。而stdClass也是zend的一个保留类。
stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候都可以被new,可以让这个变量成为一个object。同时,这个基类又有一个特殊的地方,就是没有方法。
凡时用new stdClass()的变量,都不可能会出现$a->test()这种方式的使用。或者,我们可以又这么理解一下,正因为PHP5的对象的独特性,对象在任何地方被调用,都是引用地址型的,所以相对消耗的资源会少一点。在其它页面为它赋值时是直接修改,而不是引用一个拷贝。例如:$user = new stdClass();$user->name = 'gouki';
$myUser = $user;
$myUser->name = 'flypig';
如果在PHP4时代,这样的代码就是在消耗系统资源。因为:
$myUser = $user;这是创建了一个拷贝。所以,在PHP4的时候,都是这样使用:
$myUser = & $user;
有人说,为什么不用数组呢?数组不是更方便吗?而且对于PHP这样的弱类型程序来说,用数组应该是最方便的。
确实。数组在程序的使用中应该是最方便的,然而数组的每次被引用($a = $b),其实都是创建了一个副本,而且,数组被unset后,还是占用了内存。本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

OOBELANGUAGE錯誤Windows 11 / 10修復中出現問題的問題
