我想显示PHP中调用对象内的所有数据,但它显示了致命错误,即Book类的对象无法转换为字符串

问题描述 投票:0回答:1

我在index.php中创建了一个Book类,其中创建了一些变量和一个构造函数,当我将值放入Object中时,该构造函数从对象中获取值,它向我显示了Book类的对象无法转换为的致命错误strings ,该代码有什么问题。我还附上了我的代码。

我的代码在index.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;
?>

我想显示我将放入对象中的所有值,这些值可以在浏览器上看到,但它向我显示了致命错误。

php class object oop constructor
1个回答
1
投票

我认为除非您在类中创建

__toString()
方法,否则您不会让 PHP 将此类对象转换为字符串,而当您尝试
echo
这样的对象时,这隐式地是您正在做的事情。

所以,正如我上面提到的,你可以

    如果您确实希望能够“回显”您的对象,请创建一个
  • __toString()
     方法(请参阅 
    有关魔术方法的文档
  • 使用
  • var_dump($book1)
    print_r($book1)
     函数,但它会给出非常原始的输出。
© www.soinside.com 2019 - 2024. All rights reserved.