📜  php 打印对象 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:37.885000             🧑  作者: Mango

PHP中如何打印对象

PHP作为一门动态语言,拥有丰富的对象特性。对象是面向对象编程最核心的概念之一,可以将现实生活中的事物抽象为一个个对象,进而通过对象来解决问题。

在PHP中,我们可以打印对象的属性、方法等信息,有以下几种方法:

1. var_dump()

var_dump() 函数可以打印一个或多个表达式的值及其类型,包括对象。打印出的信息非常详细,非常适合用于调试和分析代码。下面是一个示例:

class Person {
  public $name;
  public $age;

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}

$person = new Person("Tom", 20);
var_dump($person);

打印结果如下:

object(Person)#1 (2) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(20)
}
2. print_r()

print_r() 函数也可以打印一个或多个表达式的值,包括对象。与 var_dump() 不同,它只会打印简洁的信息,不会显示变量类型等详细信息。下面是一个示例:

class Person {
  public $name;
  public $age;

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}

$person = new Person("Tom", 20);
print_r($person);

打印结果如下:

Person Object
(
    [name] => Tom
    [age] => 20
)
3. var_export()

var_export() 函数可以输出或返回一个变量的字符串表示,包括对象。下面是一个示例:

class Person {
  public $name;
  public $age;

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}

$person = new Person("Tom", 20);
var_export($person);

打印结果如下:

Person::__set_state(array(
   'name' => 'Tom',
   'age' => 20,
))
4. 使用魔术方法

我们可以通过 __toString() 魔术方法来自定义对象的字符串输出。通过该方法,我们可以将对象输出为任何想要的格式,例如 JSON、XML 等。下面是一个示例:

class Person {
  public $name;
  public $age;

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }

  public function __toString() {
    return json_encode([
      "name" => $this->name,
      "age" => $this->age
    ]);
  }
}

$person = new Person("Tom", 20);
echo $person;

打印结果如下:

{"name":"Tom","age":20}