찾다

 >  Q&A  >  본문

PHP 문자열 비교

문자열 비교를 위해 PHP를 사용할 때 다음 코드에 표시된 함정에 직면했습니다.

으아악

첫 번째 결과는 true이고 두 번째 결과는 false입니다. 공식 문서를 살펴보니 첫 번째를 강제로 숫자 0으로 변환하면 두 번째도 강제로 134로 변환해야 하지만, 134로 변환하면 세 번째가 맞아야 한다.
두 개의 문자열을 인쇄했는데, 공식 문서를 읽어도 이해할 수 없는 결과가 나왔습니다. 조언 부탁드립니다.

typechotypecho2747일 전996

모든 응답(4)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-06-16 09:20:38

    http://www.php.net/manual/zh/...

    var_dump('0134b40fsbi94u8'=='134'); //false는 비교입니다

    모두 문자열이기 때문에 첫 번째 숫자를 먼저 비교합니다. 첫 번째 숫자의 비교 결과는 0과 1의 비교이므로 false입니다

    으아악 으아악

    另外 字符串之间的不建议使用比较运算符直接去比较大小,要是在需要比较php也提供了一些字符的比较函数

    회신하다
    0
  • 学习ing

    学习ing2017-06-16 09:20:38

    다양한 유형의 데이터를 비교하려면 일치 === 및 불일치 !== 연산자를 사용하는 것이 가장 좋습니다.
    비교 연산자 일치 === 및 불일치 !==가 유형을 확인하기 때문입니다.

    으아악

    한마디로 비교할 때 ==와!= 대신 ===와!==를 사용해 보세요.

    또한 PHP는 다음과 같은 일련의 유형 검사 기능도 제공합니다.

    으아악

    일부 함수는 다음과 같이 주의가 필요한 유형 검사 매개변수도 제공합니다.

    으아악

    세 번째 매개변수의 값이 true이면 함수는 유형이 동일한지도 확인합니다.

    또한 PHP는 비교 연산자 ==,!=,===,!==를 지원하여 두 배열 또는 두 객체가 같은지 비교합니다.

    으아악

    PHP는 두 개체가 동일한지 확인하기 위해 비교 연산자(==,!=,===,!==)도 지원합니다.

    으아악

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-06-16 09:20:38

    첫 번째 문자열은 과학적 표기법을 정확히 따릅니다.
    유형 제한이 느슨한 언어의 경우 뉴스에 이러한 함정이 자주 등장합니다.

    엄격하게 입력된 수표를 사용해 보세요

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-06-16 09:20:38

    PHP와 같이 약한 유형의 언어에는 사용할 수 있습니다===就别用==

    회신하다
    0
  • 취소회신하다