나는 TRUE
또는 FALSE
또는 "Test_operation"
을 반환하는 함수를 가지고 있으며, 몇 가지 작업을 반복하고 있습니다. 보시다시피 $comment_reply
의 값은 Test_operation
입니다.문자열 값이 참일 경우
$comment_reply = $this->Profunction->insert_comments();
echo $comment_reply; // returns Test_operation
if ($comment_reply==TRUE)
{
echo json_encode('Success');
}
elseif($comment_reply==FALSE)
{
echo json_encode('Failed');
}
elseif($comment_reply =="test_operation")
{
echo json_encode('This Action Cannot be done!');
}
하지만 여전히
if ($comment_reply==TRUE)
{
echo json_encode('Success');
}
이 부분은 실행하기. 왜 그렇게됩니까?
는 그 함수에서 나는 다음과 같이 반환 오전 :return TRUE; // if all success
return FALSE; // if there is some problems
return "Test_operation"; //No insertion need to be done,may be for preview purpose.
해결 : 나는 문자열로 bool
값을 변경했습니다. 그래서 그것이 문제입니다,하지만 당신은 유형에 따라 및 가치를 평등을 적용 할 경우 ===
연산자를 사용
return 'TRUE'; // if all success
return 'FALSE'; // if there is some problems
return "Test_operation"; //No insertion need to be done,may be for preview purpose.
==
의 사용. 이 경우 솔루션이 작동하기는하지만 문자열의 동일성은 문자열의 까다로운 문제 일 수 있습니다. 필자는 정렬을 비교할 때 타입과 값을 비교하기 위해 ===를 사용하는 것이 좋습니다. 오, 제발 최선의 답변에 투표하는 것을 잊지 마세요, 귀하의 게시물에 대한 수용 등급은 일종의 낮은 것입니다. 감사합니다. 좋은 하루 되세요. – stefgosselin@stefgosselin ohh 죄송합니다. [첫 번째 답변 및 좋은 설명]을 수락했습니다. C#과 비교해 보면 php와 같은 모양이 정말 좋지 않지만 사용하기가 쉽습니다. – Red
내 코드를'===' – Red