提问人:Muhammad Mujtaba 提问时间:7/13/2023 最后编辑:A.LMuhammad Mujtaba 更新时间:8/10/2023 访问量:25
我想在PHP中显示调用对象内的所有数据,但它向我显示了无法将类Book的对象转换为字符串的致命错误
I want to show all the data inside calling object in PHP, but it show me the fatal error that Object of class Book could not be converted to string
问:
我在索引中创建了一个 Book 类.php我在其中创建了一些变量,还有一个构造函数,当我将我的值放入 Object 中时,它从对象中获取值,它向我展示了 Book 类的 Object 无法转换为字符串的致命错误,该代码有什么问题。我还附上了我的代码。
我在索引 .php 文件中的代码
<?php
class Book{
var $title;
var $author;
var $pages;
var $price;
function __construct($a_title , $a_author , $a_pages , $a_price){
$this->title=$a_title;
$this->author=$a_author;
$this->pages=$a_pages;
$this->price=$a_price;
}
}
$book1 = new Book("One Day The Life will be End","Muhammad Mujtaba",400,32500);
$book2 = new Book("A Horse Man In The Sky","Ali Hassan",550,2000);
echo $book1;
echo "<br> <br>";
echo $book2;
?>
我想显示我将放入对象中的所有值都可以在浏览器上看到,但它向我显示了致命错误。
答:
1赞
Gaëtan Trema
7/13/2023
#1
我认为除非你在类中创建一个方法,否则你不会让PHP将你的对象从这个类转换为一个字符串,当你尝试这样的对象时,这就是你正在做的事情。__toString()
echo
所以,正如我上面提到的,你可以
- 如果你真的希望能够“回显”你的对象,请创建一个方法(参见关于魔术方法的文档
__toString()
) - 使用 or 函数,但它会给出非常原始的输出。
var_dump($book1)
print_r($book1)
评论
0赞
Muhammad Mujtaba
7/14/2023
非常感谢
评论
echo $book->title;