2016-07-28 2 views
0

substr_count를 사용하여 특정 문자열의 발생을 확인하려고했습니다. 그러나이 코드는 모순 된 결과를 줄 것 같습니다.substr_count와 strtolower를 함께 사용하면 일관성없는 결과가 나타납니다.

때로는 1과 때로는 0을 울립니다. 누군가가 왜 이런 일이 발생하는지 설명 할 수 있을까요? 감사! 당신의 문자열 라틴어 헌장 "ansprüche"에서

$val = "hello world ansprüche theme park"; 
$ne = "ansprüche"; 
echo substr_count(strtolower($val),$ne); 
+0

난 항상 얻을 '1'결과 : https://eval.in/613185 – Bert

+0

어쩌면 그것의 PHP 버전은 특정? 나는 PHP 5.5.12를 사용하고있다. –

+0

나는 그렇게 생각하지 않는다. 어떤 종류의 서버가 실행됩니까? 어쩌면로드 밸런싱입니까? – Bert

답변

0

. 먼저 UTF-8로 인코딩 된 ISO-8859-1 문자를 1 바이트 ISO-8859-1로 변환해야합니다.

아래 코드를 사용하십시오. 좋아.

<?php 
    $val = "hello world ansprüche theme park hello"; 
    $ne = "ansprüche"; 
    echo substr_count(strtolower(utf8_decode($val)), utf8_decode($ne)); 
?> 
관련 문제