2017-04-02 157 views
1

我試圖打印下面的簡單類的屬性。但是,我得到上面的錯誤。我還沒有在這裏找到類似問題的答案。錯誤觸發此行:PHP - 類的對象無法轉換爲字符串

echo "$object1 name = " . $object1->name . "<br>"; 

在Windows幫助上使用XAMPP?

<?php 
    $object1 = new User("Pickle", "YouGotIt"); 
    print_r($object1); 
    $object1->name = "Alice"; 

    echo "$object1 name = " . $object1->name . "<br>"; /* this triggers the error */ 

    class User 
    { 
     public $name, $password; 

     function __construct($n, $p) { // class constructor 
      $name = $n; 
      $password = $p; 
     } 
    } 
?> 

回答

2

有兩件事情錯在你的代碼,您使用的

  • 局部變量在類的構造函數,而不是實例屬性。你的構造方法應該是這樣的:

    function __construct($n, $p) { 
        $this->name = $n; 
        $this->password = $p; 
    } 
    
  • 現在來到你的錯誤,類對象無法轉換爲字符串。這是因爲該$objectecho聲明,

    echo "$object1 name = " ... 
         ^^^^^^^^ 
    

    你需要擺脫這種$object1用反斜槓,像這樣:

    echo "\$object1 name = " . $object1->name . "<br>"; 
    
+0

你是對的。非常感謝你的朋友。 –