__toString php
时间: 2023-07-25 16:29:29 浏览: 140
`__toString()` 是 PHP 中的一个魔术方法(magic method),用于在将一个对象转换为字符串时自动调用。如果在一个类中定义了 `__toString()` 方法,那么在对该类的对象应用字符串运算符(如 `echo` 或 `print`)时,会自动调用该方法并将其返回值作为字符串输出。
例如,假设有一个 `Person` 类,包含 `name` 和 `age` 两个属性:
```php
class Person {
private $name;
private $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function __toString() {
return "Name: " . $this->name . ", Age: " . $this->age;
}
}
```
现在可以创建一个 `Person` 对象,并将其用于字符串运算符:
```php
$person = new Person("Alice", 25);
echo $person; // 输出 "Name: Alice, Age: 25"
```
由于 `Person` 类定义了 `__toString()` 方法,因此在对 `$person` 对象应用 `echo` 运算符时,会自动调用该方法并将其返回值作为字符串输出。
相关问题
public function __tostring()
`__tostring()` 是 PHP 中的一个魔术方法,当尝试将一个对象转换为字符串时会自动调用此方法。换句话说,如果一个对象中定义了 `__tostring()` 方法,则在使用 `echo` 或 `print` 输出该对象时,会自动调用这个方法并返回对应的字符串。
举个例子,假设我们有一个 `Person` 类,其中定义了 `__tostring()` 方法:
```php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function __tostring() {
return "Name: " . $this->name . ", Age: " . $this->age;
}
}
$person = new Person("John", 30);
echo $person; // 输出:Name: John, Age: 30
```
在上面的例子中,当我们使用 `echo` 输出 `$person` 对象时,会自动调用 `__tostring()` 方法并返回对应的字符串,最终输出 `"Name: John, Age: 30"`。
需要注意的是,`__tostring()` 方法必须返回一个字符串类型的值,否则会抛出一个致命错误。
php tostring
PHP中的 `toString()` 方法是将一个对象转换为字符串的方法。当你尝试输出一个对象时,PHP会自动调用该对象的 `__toString()` 方法,如果该方法不存在,则会报错。你可以在你的类中定义 `__toString()` 方法来自定义该对象被转换成字符串时的输出格式。例如:
```
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function __toString() {
return "Name: " . $this->name . ", Age: " . $this->age;
}
}
$person = new Person("John Doe", 30);
echo $person; // 输出:Name: John Doe, Age: 30
```
阅读全文