PHP 5.6.0RC3 is available

简介

PHP 支持 8 种原始数据类型。

四种标量类型:

两种复合类型:

最后是两种特殊类型:

为了确保代码的易读性,本手册还介绍了一些伪类型

以及伪变量 $...

可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。

变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。

Note: 如果想查看某个表达式的值和类型,用 var_dump() 函数。

如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype() 函数。要查看某个类型,不要gettype(),而用 is_type 函数。以下是一些范例:

<?php
$a_bool 
TRUE;   // a boolean
$a_str  "foo";  // a string
$a_str2 'foo';  // a string
$an_int 12;     // an integer

echo gettype($a_bool); // prints out:  boolean
echo gettype($a_str);  // prints out:  string

// If this is an integer, increment it by four
if (is_int($an_int)) {
    
$an_int += 4;
}

// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_bool)) {
    echo 
"String: $a_bool";
}
?>

如果要将一个变量强制转换为某类型,可以对其使用强制转换或者 settype() 函数。

注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见类型转换的判别。此外,还可以参考 PHP 类型比较表看不同类型相互比较的例子。

add a note add a note

User Contributed Notes 3 notes

up
0
shojibur at gmail dot com
3 months ago
<?php
      $a
=23;
     
$b='php';

      if(
is_int($a))
     {
           echo ++
$b;     //Out put phq 
    
}
?>

So, String also incrementing , cooll
up
-1
office dot stojmenovic at gmail dot com
5 months ago
One small observation about setting type :

<?php
        $string
= "Hello World!";

       
// wrong way

      
$stringToInt = settype($string, "integer");  

     
// correct way

    
echo  settype($string, "integer");  // integer
    
echo gettype($stringToFloat) ; // boolean
?>
up
-7
Zeeshan Karamat Abbas
7 months ago
In languages like JAVA, we usually have to define the variable data types as well while declaring them but in PHP, we don't have to define the type of the variable while declaring it. Just give a variable any value. For example, we have variable $myFolks. You can set its value as under, say to a string:

$myFolks = "Hossayn opposed Tyranny of Yazid."

And then you can call it or print it and while doing so, you don't have to mention its data type. Afterwards, you can change data type as well:

$myFolks = 5+12+14
Or just $myFolks = TRUE
To Top