您好,登錄后才能下訂單哦!
通常在php中,想把對(duì)象處理成數(shù)組是需要花費(fèi)點(diǎn)精力的。
但是今天在這里,我告訴你一個(gè)so easy的黑技術(shù)來(lái)解決這個(gè)問(wèn)題。
<?php /** * Created by PhpStorm. * User: zrj * Date: 17-10-20 * Time: 下午8:08 */ declare(strict_types=1);//開(kāi)啟強(qiáng)類(lèi)型模式 class Person { public $name; public $age; public function __construct(string $name,int $age) { $this->name = $name; $this->age = $age; } } $jack = new Person('Jack', 18); echo print_r($jack, true); echo "<p>"; //對(duì)象轉(zhuǎn)數(shù)組 $jack = json_decode(json_encode($jack), true); echo print_r($jack, true);
來(lái)看看結(jié)果:
Person Object ( [name] => Jack [age] => 18 ) Array ( [name] => Jack [age] => 18 )
思路分析:
先將對(duì)象進(jìn)行json_encode處理為json字符串。
將轉(zhuǎn)換后json字符串進(jìn)行json_decode處理。
json_decode(json_encode($obj),true);
總結(jié):
優(yōu)點(diǎn):簡(jiǎn)單快捷。
缺點(diǎn):會(huì)消耗double倍的內(nèi)存。
正確的Get姿勢(shì):
對(duì)象本身占內(nèi)存小時(shí),可以直接使用。
對(duì)象本身占內(nèi)存大的時(shí)候(如幾千條記錄組成數(shù)據(jù)集對(duì)象),占用兩倍的內(nèi)存可能會(huì)造成超出php的內(nèi)存限制,出現(xiàn)異常。
故遇到大體量對(duì)象時(shí),不建議使用。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。