PHP __数据结构类型
一、php 中的八种数据类型
1.四种标量类型
Boolean (布尔类型): true or false,多用于条件判断。
实例:
<?php $x = "Hello world!"; echo $x; echo "<br>"; $x = 'Hello world!'; echo $x;
Int(整数类型) : 整数是没有小数的数字。
整数规则:整数必须有至少一个数字(0-9);整数不能包含逗号或空格;整数不能有小数点;整数正负均可;可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前
缀是 0)。
实例:
<?php $x = 5985; var_dump($x); echo "<br>"; $x = -345; // 负数 var_dump($x); echo "<br>"; $x = 0x8C; // 十六进制数 var_dump($x); echo "<br>"; $x = 047; // 八进制数 var_dump($x);
String (字符串型):字符串是字符序列,使用引号定义,也可以是使用定界符定义
实例:
<?php $x = "Hello world!"; echo $x; echo "<br>"; $x = 'Hello world!'; echo $x;
Float (浮点类型): 就是有小数点或指数形式的数值。但不要进行浮点型数据的比较。
实例:
<?php $x = 10.365; var_dump($x); echo "<br>"; $x = 2.4e3; var_dump($x); echo "<br>"; $x = 8E-5; var_dump($x);
2.两种符合类型
Array(数组类型):实现了单个变量可以存储多个值的情况;数组分为索引式(索引为数值组成)和关联式(索引为字符串组成)两种数组。
实例:
<?php $cars=array("Volvo","BMW","SAAB"); var_dump($cars);
Object(对象类型):对象是存储数据和有关如何处理数据的信息的数据类型。在 PHP 中,必须明确地声明对象。首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。然后我们在对
象类中定义数据类型,然后在该类的实例中使用此数据类型。
实例:
<?php class Car { var $color; function Car($color="green") { $this->color = $color; } function what_color() { return $this->color; } }
3.两种特殊类型
Resource (资源类型)
Null (空型):特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。可以通过把值设置为 NULL,将变量清空。
实例:
<?php $x="Hello world!"; $x=null; var_dump($x);
二、PHP 中变量为 null 的情况
<?php //以下几种情况变量的值为null空 //1.变量赋值为null时,打印为空 $a = null; //2.被销毁的变量,打印时为空 $b = 100; unset($b); var_dump($b); //3.直接打印一个不存在的变量时,也为空 var_dump($c);
三、PHP 中数据类型自动转换为 false 情况
<?php //自动类型转换,自动转换为布尔型false的情况 $a = false; //布尔型 $a = 0; //整型 $a = 0.0; //浮点型 $a = ""; //字符串型 $a = "0"; $a = array(); //数组型 $a = null; //空型
四、PHP 中数据类型自动转换为数值
<?php // 自动转换为数值的情况 $num1 = true; $num2 = 10; var_dump($num1 + $num2); // 11 $num1 = "1234abcd"; $num2 = 1234; var_dump($num1 + $num2); // 2468 $num1 = null; $num2 = 10; var_dump($num1 * $num2); // 0
五、强制类型转换
<?php /*强制类型转换*/ //改变了原变量的类型 $a = 0; var_dump($a); settype($a,"boolean"); var_dump($a); //不改变原变量类型的强制类型转换 $b = "canglaoshi"; $c = (integer) $b; var_dump($c); var_dump($b);
六、PHP 中一些有助于调试代码的函数
gettype( ) :获取某变量的数据类型
isset ( ) :判断某变量是否被设定(存在)
empty( ) :判断某变量是否为空(不存在)
is_bool( ) :判断某变量数据类型是否为布尔型
is_String( ):判断某变量数据类型是否为字符串型
。。。
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
echo : PHP 语法,以字符串形式输出结果,不能对数组、对象操作
print : 只能打印出简单类型变量的值(如int,string) ,输出结果速度较 echo 要慢
print_r : 可以打印出复杂类型变量的值(如数组,对象),仅为结果。
var_dump: 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
七、PHP 中的引用变量、可变变量以及常量
实例:
<?php //可变变量 $a = "b"; $$a = "c"; $$$a = "d"; $$$$a = "e"; echo $d."<br/>"; // e //引用变量 $a = "hello world!"; $b = &$a; $b = "你好 世界!"; unset($a); echo $b; // hello world //定义一个常量 define('NAME','haibo'); define('SEX','women'); define('AGE','18'); //使用一个常量 echo NAME; //常量信息不能被覆盖! // define('NAME','hongze'); //常量定义的内容不能被销毁 // unset(NAME); //判断某个常量是否被定义 var_dump(defined('CLASS')); // false
八、PHP中已定义的系统常量
样例:
<?php //系统定义的常量 echo "当前系统:".PHP_OS."<br/>"; echo "PHP的版本:".PHP_VERSION."<br/>"; echo "当前文件名:".__FILE__."<br/>"; echo "当前行号:".__LINE__."<br/>";