2013-07-15 166 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."; 

?>