변수는 PHP의 핵심입니다. 변수를 연산하기 전에 먼저 변수가 어떤 유형에 속하는지 알아야 합니다. 그렇다면 PHP에서 변수 유형을 감지하는 방법은 무엇입니까? 다음 기사에서는 변수 유형을 감지하는 PHP의 여러 기능을 소개합니다.
PHP는 데이터 유형을 감지하는 많은 함수를 제공하지만 크게 두 가지 유형, 즉 gettype() 함수와 is_*
클래스 함수로 나눌 수 있습니다. 코드 예제를 통해 살펴보겠습니다. is_*
类函数。下面我们通过代码示例来了解一下。
我们先来看看下面一个例子:
<?php echo gettype(102) ."<br>"; echo gettype(true) ."<br>"; echo gettype(' ') ."<br>"; echo gettype(null) ."<br>"; echo gettype(array()) ."<br>"; echo gettype(new stdclass()); ?>
看看输出结果:
gettype()函数可以获取并返回变量的类型,返回值可以为:
boolean
integer
double
(从 PHP 4 起,如果是 float 就返回“double”,而不是“float”了)
string
array
object
resource
(资源)
resource是一种特殊的变量类型,保存了到外部资源的一个引用;它主要描述一个 PHP 的扩展资源。resource(资源)是通过专门的函数来建立和使用的。
NULL
NULL 也是一种特殊的数据类型,它只有一个值,即 NULL,表示空值(即变量没有值)。
unknown type
gettype()函数由于包含了字符串的比较,因此运行是较慢的。除了这个函数外,我们还可以使用is_*
系列函数来检测变量的类型。
我们来看看下面一个例子:
<?php header("Content-type:text/html;charset=utf-8"); $num1 = 123456; $arr = array(1, 2, 3, 4, 5, 6, 7); $bool = false; $str1 = NULL; $str2 = '654321'; $float = 3.1415926; $str3 = 'hello!'; class foo { function dosomething() { echo "你好!"; } } $obj = new foo(); if (is_array($arr)) echo '$arr 是数组'; echo '<br>'; if (!is_array($num1)) echo '$num1 不是数组'; echo '<br>'; if (is_numeric($str2)) echo '$str2 是数字'; echo '<br>'; if (is_bool($bool)) echo '$bool 是数字'; echo '<br>'; if (is_float($float)) echo '$float 是浮点类型'; echo '<br>'; if (!is_float($str2)) echo '$str2 不是浮点类型'; echo '<br>'; if (is_int($num1)) echo '$num1 是整数类型'; echo '<br>'; if (!is_int($float)) echo '$float 不是整数类型'; echo '<br>'; if (is_string($str2)) echo '$str2 是字符串'; echo '<br>'; if (is_object($obj)) echo '$obj 是一个对象'; echo '<br>'; if (!isset($str1)) echo '$str1 未定义或则值为 NULL'; ?>
看看输出结果:
is_* 系列中多个作用不同的函数,可以利用这些函数来分别检查变量的数据类型。下面我们来看看常用的几个检查函数:
1、is_int():检测变量$var
是否为整数类型(integer),如果$var
是则返回TRUE,否则返回 FALSE;语法“is_int($var)
”,别名为is_integer()。
2、is_float():检测变量$var
是否为浮点型,如果$var
是则返回TRUE,否则返回 FALSE;语法“is_float($var)
”,别名为is_real()。
3、is_string():检测变量$var
是否为字符串型,如果$var
是则返回TRUE,否则返回 FALSE;语法“is_string($var)
”。
4、is_array():检测变量$var
是否为数组,如果$var
是则返回TRUE,否则返回 FALSE;语法“is_array($var)
”。
5、is_object():检测变量$var
是否是一个对象,如果$var
是则返回TRUE,否则返回 FALSE;语法“is_object($var)
”。
6、is_numeric():检测变量$var
是否为数字或者数字字符串,如果$var
是则返回TRUE,否则返回 FALSE;语法“is_numeric($var)
rrreee출력을 살펴보세요.
gettype() 함수는 변수 유형을 가져오고 반환할 수 있으며 반환 값은 다음과 같습니다.
부울
🎜정수
🎜더블
code> (PHP 4부터 부동 소수점인 경우 "float" 대신 "double"을 반환합니다) 🎜string
🎜배열🎜
객체
🎜리소스
(리소스)🎜🎜리소스는 특수 변수 유형은 주로 PHP 확장 리소스를 설명하는 외부 리소스에 대한 참조를 저장합니다. 리소스는 특화된 기능을 통해 생성되고 사용됩니다. 🎜🎜NULL
🎜🎜NULL도 특수 데이터 유형입니다. NULL이라는 값은 하나만 있습니다. 즉, 변수에는 값이 없습니다. ). 🎜🎜알 수 없는 유형
🎜is_*
함수 시리즈를 사용하여 변수 유형을 감지할 수도 있습니다. 🎜🎜다음 예를 살펴보겠습니다. 🎜rrreee🎜출력을 살펴보세요. 🎜🎜🎜🎜is_* 시리즈에는 서로 다른 함수를 가진 여러 함수가 있으며, 이 함수를 사용하여 각각의 변수의 데이터 유형을 확인할 수 있습니다. 일반적으로 사용되는 몇 가지 검사 함수를 살펴보겠습니다. 🎜🎜1.is_int(): $var
인 경우 변수 $var
가 정수 유형(정수)인지 확인합니다. is TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 구문은 "is_int($var)
"이고 별칭은 is_integer()입니다. 🎜🎜2. is_float(): $var
변수가 부동 소수점 유형인지 확인합니다. $var
가 있으면 TRUE를 반환하고 그렇지 않으면 FALSE 구문을 반환합니다. is_float($var)
", 별칭 is_real(). 🎜🎜3. is_string(): $var
변수가 문자열 유형인지 확인합니다. $var
가 문자열 유형이면 TRUE를 반환하고, 그렇지 않으면 " 구문을 반환합니다. is_string($var)
"입니다. 🎜🎜4. is_array(): $var
변수가 배열인지 확인합니다. $var
가 배열이면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. ($ var)". 🎜🎜5. is_object(): $var
변수가 개체인지 확인합니다. $var
가 개체이면 TRUE를 반환하고, 그렇지 않으면 "is_object" 구문을 반환합니다. ( $var)
". 🎜🎜6. is_numeric(): $var
변수가 숫자인지 숫자 문자열인지 확인합니다. $var
가 일치하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. is_numeric($var)
'입니다. 🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 동영상 튜토리얼🎜🎜🎜마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다: 🎜PHP 함수 배열 배열 함수 동영상 설명🎜, 와서 배워보세요! 🎜위 내용은 PHP 함수를 사용하여 변수 유형을 감지하는 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!