您的位置:

PHP数据类型详解

一、整型

整型是最常用的数据类型之一,表示整数。在PHP中,整型变量可以使用十进制、十六进制、八进制或二进制表示。

1、十进制表示

    $num1 = 123; //十进制表示

2、十六进制表示:以0x或0X开头,后跟一组0-9,A-F或a-f的字符表示

    $num2 = 0x1A; //十六进制表示,等价于十进制的26

3、八进制表示:以0开头,后跟一组0-7的数字表示

    $num3 = 0123; //八进制表示,等价于十进制的83

4、二进制表示:以0b或0B开头,后跟一组0或1的数字表示

    $num4 = 0b1111; //二进制表示,等价于十进制的15

二、浮点型

浮点型表示带小数点的数,也称为实数。在PHP中,可以使用科学计数法表示浮点数。

1、普通浮点型表示

    $num1 = 3.14; //普通浮点型表示

2、科学计数法表示:可以使用e或E来表示10的幂

    $num2 = 3.14E3; //表示为3140

三、布尔型

布尔型只有两个值:true和false。在PHP中,0、0.0、空字符串、空数组、NULL和false被视为false,其他都被视为true。

    $bool1 = true;
    $bool2 = false;

四、字符串型

字符串型表示一组由字符组成的数据。在PHP中,字符串可以使用单引号或双引号表示。另外,可以使用Heredoc或Nowdoc表示多行字符串。

1、单引号表示:内部不解析变量和转义字符。如果需要在单引号字符串中添加单引号,需要使用反斜杠进行转义。

    $str1 = 'Hello, world';
    $str2 = 'She said, \'Hello\'.';

2、双引号表示:可以解析变量和转义字符。

    $name = 'Tom';
    $str3 = "My name is {$name}.";

3、Heredoc表示:使用<<<符号开头,后跟标识符,并在下一行写入字符串。标识符可以是任何字符串,不能包含空格和制表符。

    $str4 = <<

   

4、Nowdoc表示:类似于Heredoc,但不解析任何变量或转义字符。使用单引号作为定界符。

    $str5 = <<<'EOT'
    This is a Nowdoc string.
    It can also span multiple lines.
    EOT;

五、数组

数组是一组有序的数据,每个数据都有一个唯一的键值。在PHP中,数组可以使用下标或键值来访问数据。数组分为索引数组和关联数组。

1、索引数组:下标为数字,从0开始,代表数组中的元素位置。

    $arr1 = array('apple', 'banana', 'orange');
    echo $arr1[0]; //输出apple

2、关联数组:下标为字符串,代表数组中的元素名称。

    $arr2 = array('name'=>'Tom', 'age'=>20, 'gender'=>'male');
    echo $arr2['name']; //输出Tom

六、对象

对象是封装了数据和方法的数据类型。在PHP中,可以使用类和对象的概念创建和操作对象。

1、定义类

    class Person {
        private $name;
        private $age;
        function __construct($name, $age) {
            $this->name = $name;
            $this->age = $age;
        }
        function getName() {
            return $this->name;
        }
        function getAge() {
            return $this->age;
        }
    }

2、创建对象

    $person = new Person('Tom', 20);
    echo $person->getName(); //输出Tom

七、空值

空值表示无值或未设置值的变量。在PHP中,可以使用NULL或空字符串表示空值。

    $var1 = NULL;
    $var2 = '';

八、资源

资源表示一种特殊的变量类型,它包含了对外部资源的引用。在PHP中,函数和操作系统提供了一些操作外部资源的接口,返回的值就是资源类型。

    $file = fopen('file.txt', 'r');
    echo get_resource_type($file); //输出stream
    fclose($file);