5

我正在学习一门关于 PHP 的课程,但我完全被其中一项任务困住了。

我坚持的一点是:

“PalprimeChecker [专为此任务创建的函数]对象有一个名为 number 的属性。此任务有两个部分。首先,为该属性分配值 17....”

我写的代码返回一个错误,不会让我进步......

include('class.palprimechecker.php');


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

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

我完全不确定我在哪里出错了。有人知道分配此值的正确方法吗?

希望你能帮助我,因为我正在撕扯我的头发!

谢谢!

4

4 回答 4

9

修改这个:

echo "The number " . "$checker";

这样 :

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

您试图打印整个对象(如果不为其创建方法,这是不可能的,请查看 orangePill 对此的回答),您想要做的只是打印对象内的数字。

另请注意,分配数字时不需要使用引号。以后可能会出现问题。您应该像这样简单地分配它:

$checker->number = 17;
于 2013-07-15T21:11:00.647 回答
2

小心连接。

<?php


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

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

?>
于 2015-01-28T07:38:50.460 回答
2

您还可以在 PalprimeChecker 类上添加 __toString 方法。

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

这将允许echo "The number " . $checker;产生一个字符串。

于 2013-07-15T21:12:30.573 回答
0

好吧,您正在分配一个字符串,而不是一个数字。

$checker->number = 17; //Note that there are no quotes around '17'.
于 2013-07-15T21:12:28.187 回答