php对象转数组的黑技术
生活随笔
收集整理的這篇文章主要介紹了
php对象转数组的黑技术
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 通常在php中,想把對象處理成數組是需要花費點精力的。
????但是今天在這里,我告訴你一個so easy的黑技術來解決這個問題。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php /** ?*?Created?by?PhpStorm. ?*?User:?zrj ?*?Date:?17-10-20 ?*?Time:?下午8:08 ?*/ declare(strict_types=1);//開啟強類型模式 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>"; //對象轉數組 $jack?=?json_decode(json_encode($jack),?true); echo?print_r($jack,?true); |
來看看結果:
| 1 2 3 4 5 6 7 8 9 10 11 | Person?Object ( ????[name]?=>?Jack ????[age]?=>?18 ) Array ( ????[name]?=>?Jack ????[age]?=>?18 ) |
思路分析:
先將對象進行json_encode處理為json字符串。
將轉換后json字符串進行json_decode處理。
json_decode(json_encode($obj),true);
總結:
????優點:簡單快捷。
??? 缺點:會消耗double倍的內存。
正確的Get姿勢: ??
對象本身占內存小時,可以直接使用。
對象本身占內存大的時候(如幾千條記錄組成數據集對象),占用兩倍的內存可能會造成超出php的內存限制,出現異常。
故遇到大體量對象時,不建議使用。
本文轉自 hgditren 51CTO博客,原文鏈接:http://blog.51cto.com/phpme/1974734,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的php对象转数组的黑技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设置IE安全并打开自动仿冒网站筛选器和I
- 下一篇: 二十年后的回眸(5)——一部单车闯天下