2013-07-15 2 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 할 문자열 표현이 없을 것입니다. 'echo $ checker-> number'를 echo 할 수 있으며, 객체를 검사하려면'var_dump'를 사용하십시오. – Wrikken

답변

7

이 수정이에 의해

echo "The number " . "$checker"; 

을 :

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

당신은 그것을하는 방법을 만들지 않고 수 없습니다 전체 개체를 (인쇄하려고,이에 대한 orangePill의 답변을 확인했다), 당신이하고 싶은 것은 객체 안의 숫자를 단순히 인쇄하는 것입니다.

숫자를 할당 할 때 따옴표를 사용할 필요가 없습니다. 나중에 문제가 발생할 수 있습니다. 당신은 단순히 다음과 같이 할당해야합니다

$checker->number = 17; 
+0

건배! 잡았다. 나는 이것에 대해 적절한 읽을 거리가 필요하다고 생각한다. 자습서는이 멍청한 놈에게 이해하기가 다소 까다로운 것으로 보이는 부분을 가볍게 건너 뜁니다. – user2191622

+1

도움이 되었기 때문에 기꺼이 대답을 수락하고 다른 관련 답변을 잊지 마세요. –

0

글쎄, 당신 있습니다 숫자를 문자열을 할당하지.

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

또한 __toString 메서드를 PalprimeChecker 클래스에 추가 할 수도 있습니다.

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."; 

?>