2017-09-15 2 views
0

나는 나를 이해할 수없는되는 PHP 코드의 조각을 가지고strpos가 아포스트로피를 찾을 수 없습니까? 나는 그것을 테스트 할 때

$found = $found + (int)(strpos($entry,"'")); // apostrophe 

내가 변수 $ 항목이 문자열로 테스트 :

'[email protected] 
이 기능은 아포스트로피를

찾아야한다 증분 $found

오해하지 않는 한,이 아포스트로피의 위치는 제로 위치입니까?

그 점을 생각해 보면 그 이유가 무엇인지 알 수 있습니다. 그게 내 문제를 설명 할거야 그리고 나는 그것을 다르게 코드화 할 것이다.

감사합니다.

+1

예를의 색인은 0입니다. –

+1

예, '거짓'은 찾지 못했음을 의미하고, '0'은 첫 번째 문자를 의미합니다. 그 차이를 알려면'==='를 사용하십시오. – jh1711

+3

관련 문서 섹션 : http://php.net/manual/en/function.strpos.php#refsect1-function.strpos-returnvalues ​​ –

답변

0

는 구걸에 있다면 예, 다음의 지수가 0입니다 그래서 :

$found = $found + 0 

당신은 같은 것을 시도 할 수 있습니다 :

$found = strpos($entry,"'") === false ?: $found + 1; 

또는 :

if (strpos($entry,"'") !== false) { 
    $found += 1; 
} 
+0

목표가 1 씩 증가하는 경우 '$ found + = strpos ($ entry, "'")! == false;'도 매우 간단하지만 그 내용이 맞는지 확실하지 않습니다. 가고 싶든 안가든. –

+0

나도 그래. BTW. php의 타입 캐스팅에 대한 친숙 함을 테스트하는 멋진 스 니펫입니다. – guessimtoolate

관련 문제