Rumah > pembangunan bahagian belakang > tutorial php > php对象如何转为数组的黑技术详解

php对象如何转为数组的黑技术详解

黄舟
Lepaskan: 2023-03-16 18:08:01
asal
1288 orang telah melayarinya

    通常在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(&#39;Jack&#39;, 18);

echo print_r($jack, true);

echo "<p>";

 

//对象转数组

$jack = json_decode(json_encode($jack), true);

echo print_r($jack, true);

Salin selepas log masuk

来看看结果:

1

2

3

4

5

6

7

8

9

10

11

Person Object

(

    [name] => Jack

    [age] => 18

)

 

Array

(

    [name] => Jack

    [age] => 18

)

Salin selepas log masuk

思路分析:

  1. 先将对象进行json_encode处理为json字符串。

  2. 将转换后json字符串进行json_decode处理。

    json_decode(json_encode($obj),true);

总结:

    优点:简单快捷。

    缺点:会消耗double倍的内存。

正确的Get姿势:  

对象本身占内存小时,可以直接使用。

对象本身占内存大的时候(如几千条记录组成数据集对象),占用两倍的内存可能会造成超出php的内存限制,出现异常。

Atas ialah kandungan terperinci php对象如何转为数组的黑技术详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan