>  기사  >  백엔드 개발  >  PHP 약한 유형의 언어에서 유형 판단의 예 분석

PHP 약한 유형의 언어에서 유형 판단의 예 분석

黄舟
黄舟원래의
2017-08-10 11:49:201360검색

이 글은 주로 PHP 약한 유형 언어의 유형 판단 연산을 소개하고, PHP의 데이터 유형에 대한 변환, 판단 및 함수 사용 기술과 주의 사항을 예제 형식으로 분석합니다. 이 문서에서는 PHP 약한 유형 언어의 유형 판단 작업에 대해 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

1. PHP가 숫자를 문자열과 비교하거나 연산을 수행할 때 PHP는 문자열을 숫자로 변환한 후 비교합니다. PHP 변환 규칙은 다음과 같습니다. 문자열이 숫자로 시작하면 시작 숫자가 변환 결과로 사용되고, 그렇지 않으면 0이 출력됩니다.

예: 123abc는 변환 후 123이어야 하며 abc는 0, 0==0입니다. 자세한 내용은 공식 매뉴얼을 참조하세요. 정수와 문자열을 비교하면 문자열이 나타납니다.

$a = ($b=4)+5;
echo $a;  //9
echo &#39;<p>&#39;;
var_dump(1==&#39;1a&#39;);  //true
echo &#39;<p>&#39;;
var_dump(1==&#39;2a&#39;);  //false
echo &#39;<p>&#39;;
var_dump(1==&#39;a1&#39;);  //false
echo &#39;<p>&#39;;
var_dump("1"==&#39;1a&#39;);  //false
echo &#39;<p>&#39;;
var_dump(&#39;51a&#39;+6);  //57
echo &#39;<p>&#39;;
var_dump(&#39;a51&#39;+6);  //6

2. PHP에서 ==는 먼저 유형 변환을 수행한 다음 비교하고, ===는 유형을 먼저 비교합니다. 다음 예시를 참고하세요

$a = null;
$b = &#39;&#39;;
$c = 0;
echo ($a == $b) ? 1 : 0;  // 输出1
echo ($a === $b) ? 1 : 0;  // 输出0
echo ($a == $c) ? 1 : 0;  // 输出1
echo ($a === $c) ? 1 : 0;  // 输出0
echo ($b == $c) ? 1 : 0;  // 输出1
echo ($b === $c) ? 1 : 0;  // 输出0

3. php

1)의empty 및 isset 함수 변수가 0, "0", null, '', false, array()인 경우 빈 함수, 모든 반환값은 true입니다.

2) 변수가 정의되지 않았거나 null인 경우 isset 함수는 false를 반환하고 나머지는 true가 아닙니다. 상황은 분명히 abc 문자열에 a가 포함되어 있는지 확인하는 것입니다. 결과는 1이어야 하지만 실제 결과는 2입니다. strpos 함수가 대상 문자열과 일치하지 않으면 false를 반환하고, 대상 문자열과 일치하면 여기에는 검색 문자열의 인덱스 위치에 0이 반환되기 때문입니다.

$a = null;
$b = &#39;&#39;;
$c = 0;
$d = "0";
$e = false;
$f = array();
var_dump(empty($a));  //true
echo &#39;<p>&#39;;
var_dump(empty($b));  //true
echo &#39;<p>&#39;;
var_dump(empty($c));  //true
echo &#39;<p>&#39;;
var_dump(empty($d));  //true
echo &#39;<p>&#39;;
var_dump(empty($e));  //true
echo &#39;<p>&#39;;
var_dump(empty($f));  //true
echo &#39;<p>&#39;;
var_dump(isset($a));  //false
echo &#39;<p>&#39;;
var_dump(isset($b));  //true
echo &#39;<p>&#39;;
var_dump(isset($c));  //true
echo &#39;<p>&#39;;
var_dump(isset($d));  //true
echo &#39;<p>&#39;;
var_dump(isset($e));  //true
echo &#39;<p>&#39;;
var_dump(isset($f));  //true
echo &#39;<p>&#39;;
var_dump(isset($g));  //false

을 상수 같음으로 변경하는 것이 맞습니다.

5.줄바꿈은 큰따옴표가 필요해요


$sms = "abc";
if(strpos($sms,&#39;a&#39;) != false ){
  echo 1;
}else{
  echo 2;
}

이렇게 쓰면 파일을 열면 이런 모습이 됩니다2016-09-02 08:04:04rn2016-09-02 08 :04:05rn2016-09-02 08: 04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:22

올바른 작성법은 rn, 큰따옴표로 묶어주세요

위 내용은 PHP 약한 유형의 언어에서 유형 판단의 예 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.