1.strpos() 함수는 대상 문자열에 특정 하위 문자열이 있는지 확인하는 데 사용됩니다. 존재하면 해당 하위 문자열의 위치 정보를 반환하고, 그렇지 않으면 하위 문자열의 위치가 해당 문자열에 있을 때 false를 반환합니다. 대상 문자열의 시작 부분, 반환되는 위치 정보는 0이므로 if 문에서 상수 판단, 즉 if(strpos(...) === false)를 사용해야 합니다. 0==false가 true이기 때문입니다. PHP에서는 strstr() 함수에서도 동일한 문제가 발생합니다. 이 함수는 처음으로 찾은 하위 문자열과 하위 문자열 앞의 모든 문자를 반환합니다. 또한 매개 변수를 설정하여 하위 문자열과 그 뒤의 모든 문자를 반환할 수도 있습니다. 문자열에 하위 문자열이 포함됨) strstr이 결정되면('43210','0') 함수는 '0'을 반환합니다. == false이므로 strpos 대신 strstr 함수를 사용하여 결정하는 경우 동일성 원리에도 주의해야 합니다. 그렇지 않으면 부분 문자열이 존재하는지 여부만 확인하면 되므로 판단 오류가 발생할 수 있으므로 사용하는 것이 더 빠릅니다. strpos.
2.
저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
위 내용을 포함하여 PHP 문자열의 다양한 함정을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.