2013-07-15 216 views
3

我正在學習關於PHP的課程,而且我完全停留在其中一項任務上。將值賦給PHP對象屬性

卻困位是:。

「PalprimeChecker 對象有一個被叫號碼屬性[剛剛創建此任務的函數]這個任務有兩個部分首先,指定該屬性的值17 ....」

我寫返回錯誤,不會讓我進步的代碼...

include('class.palprimechecker.php'); 


$checker = new PalprimeChecker(); 
$checker->number = '17'; 

echo "The number " . "$checker"; 
echo "(is|is not)"; 
echo " a palprime."; 

我不知道在所有我要去哪裏這個錯了。任何人都知道分配這個值的正確方法?

希望你能幫助,因爲我正在撕裂我的頭髮!

謝謝!

+4

那麼你收到的錯誤是什麼? –

+1

你能告訴我們你的班級代碼嗎? –

+2

你期望'「$ checker」'做什麼?該對象可能沒有字符串表示來回顯。你可以'echo $ checker-> number',或者如果你想檢查這個對象,可以使用'var_dump'。 – Wrikken

回答

7

修改此:

echo "The number " . "$checker"; 

通過此:

echo "The number " . $checker->number; 

你試圖打印整個對象(這也不是沒有可能爲它創造一個方法,檢查orangePill的回答這個),你想要做的只是在對象內部打印數字。

另請注意,分配數字時不需要使用引號。它可能會在稍後導致問題。您應該簡單地給它分配是這樣的:

$checker->number = 17; 
+0

乾杯!疑難雜症。我想我需要對此做一些正確的閱讀。本教程略過了一些小技巧來理解這個noob! – user2191622

+1

很高興幫助,不要忘記接受答案,並注意其他相關答案。 –

0

那麼,你指定的字符串,而不是數量。

$checker->number = 17; //Note that there are no quotes around '17'. 
2

您還可以在PalprimeChecker類中添加__toString方法。

public function __toString(){ 
     return (string)$this->number; 
} 

這將使echo "The number " . $checker;以生成一個字符串。

1

小心連接。

<?php 


include("class.palprimechecker.php"); 
$checker = new PalprimeChecker; 
$checker->number = 17; 

echo "The number" . $checker->number . ""; 
echo "(is|is not)"; 
echo " a palprime."; 

?>