• PHP_数据类型


    概览

    PHP支持8种原始类型,包括4种标量类型,即boolean(布尔型)、integer(整型)、float/double(浮点型)和string(字符串型);
    2种复合类型,即array(数组)和object(对象);
    2种特殊类型,即resource(资源)与null。

    标量

    标量数据类型是数据结构中最基本的单元,只能存储一个数据。

    布尔型(boolean)

    布尔型是PHP中较为常用的数据类型之一,它保存一个true值(1)或者false值(0),其中true和false是PHP的内部关键字。主要用来判断真假,例如:

    <?php
    	$bool = true;
    	if($bool == true)
    		echo '变量$bool为真(true)';
    	else
    		echo '变量$bool为假(flase)';
    
    ?>
    

    整形(integer)

    整型数据类型只能包含整数。
    32位,64位无符号整型的取值范围:
    2^64-1 = +18446744073709551615 ~ -18446744073709551615
    2^32-1 = +4294967295 ~ -4294967295
    32位,64位有符号整型取值范围:
    (2^32)/2-1 = +2147483647 ~ -2147483647
    (2^64)/2-1 = +9223372036854775807 ~ -9223372036854775807
    减1是因为整型包括0.
    整型数可以用十进制、八进制和十六进制来表示。如果用八进制,数字前面必须加0;如果用十六进制,则需要加0x。例如:

    <?php
    	echo "<p>1234567在不同进制下的输出结果</p>";
    	$str1=1234567;	//十进制
    	$str2=0x1234567;	//十六进制
    	$str3=01234567;	//八进制
    	echo "<p>1234567十进制输出为:$str1</p>";
    	echo "<p>1234567十六进制输出为:$str2</p>";
    	echo "<p>1234567八进制输出为:$str3</p>";
    //整形取值超过最大范围,就会造成溢出,返回一个浮点数。同样的运算结果如果超过最大范围,也会返回一个浮点数,会造成数据失准,例如:
    	$str4=9223372036854775807;	//这是64位的最大值了
    	echo "<p>整形十进制最大值是:$str4</p>";
    	++$str4;	//就大一点试试
    	echo "<p>整形十进制最大值加1是:$str4</p>";
    	$str5=9223372036854775809;	//大两点试试
    	echo "<p>整形十进制最大值大2是:$str5</p>";
    	if($str4 == $str5)	//判断9223372036854775809和9223372036854775808是否相等
    		echo "哦噢!相等,看来大了返回的值不准哦!";
    	else
    		echo "这不可能!!!";
    	
    ?>
    

    浮点型(float/double)

    浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。
    在64位的操作系统中,有效的范围是1.7E-308~1.7E+308。
    在PHP早期版本中,浮点型的标识为double,也叫作双精度浮点数,两者没有区别。例如圆周率的三种写法:

    <?php
    	echo "pi()函数的写法:".pi()."</p>";
    	echo "正常写法:". 3.1415926535898 ."</p>";
    	echo "科学计数法:". 31415926535898E-13 ."</p>"
    ?>
    

    字符串(string)

    字符串是连续的字符序列,由数字、字母和符号组成。字符串中的每个字符只占用一个字节。在PHP中,有3种定义字符串的方式,分别是单引号(')、双引号(")和定界符(<<<)。

    单引号中包含的变量会强制转换成字符串输出。例如:

    <?php
    	$bool = true;
    	echo '$bool 是布尔类型true的值';
    ?>
    

    双引号中所包含的变量会自动被替换成实际数值

    <?php
    	$bool = true;
    	echo "<h2>$bool 是布尔类型true的值</h2>"
    ?>
    

    定界符(<<<)是从PHP 4开始支持的。其本质和双引号没有区别,在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。例如:

    <?php
    	$bool = true;
    	echo <<<std
    	$bool 是布尔类型true的值',<h1>其本质和双引号没有区别</h1>
    	。。。。
    	std;
    ?>
    

    复合类型

    数组(array)

    数组由三部分组成:数组名、索引、键值。
    数组中的每个数据称为一个元素,元素包括索引(键名)和值(键值)两个部分。元素的索引可以由数字或字符串组成,元素的值可以是多种数据类型。

    <?php
    	$array = array('张三','李四','王五');  //张三就是键值,0就是索引
    	echo "数组中第一个值是:$array[0]</p>";
    	echo "数组中第二个值是:$array[1]</p>";
    	echo "数组中第三个值是:$array[2]</p>";
    ?>
    

    对象(object)

    • 类:具有相同属性(状态)和方法(行为)的对象称为类,是个抽象的概念。例如:人类,兽类、鱼类
    • 对象:在其他编程语言中常说万物皆对象,就是此对象。日常生活中的实体的东西都是对象,是类的实例化。例如:谢广坤就是人类的实例,哈士奇就是狗类的实例
    • 属性:用来描述具体某个对象的特征就是属性,是静态的。例如:年龄,姓名,身高等
    • 方法:每个对象有它们自己的行为或者是使用它们的方法,是动态的。可以使用这些方法来操作一个对象;例如:唱歌、跳舞,跑步等
    <?php
    class people 	//创建一个类
    {
    	var $name;	//属性
    	var $age;	//属性
        function action()
        {
            echo "我叫: ".$this->name." "; 				//具体的行为
    		echo "我是练习时长 ".$this->age." 的练习生</p>";	//具体的行为
    		return $this;	//返回此对象以便多次调用
    	}
    	function hh()
    	{
    		echo "我喜欢唱跳rap";
    	}
    }
    
    	$bro = new people;	//将类实例化为对象
    	$bro->name='谢广坤';	//给people对象的name属性赋值
    	$bro->age='两年半';	//给people对象的age属性赋值
    	$bro->action()->hh();	//调用两种方法
    ?>
    

    特殊类型

    资源(source)

    资源是一种特殊的变量类型,也叫句柄,保存了到外部资源的一个引用,例如:mysql连接、文件句柄,图形画布区域等
    资源是通过专门的函数来建立和使用的。

    <?php
        $fp = fopen("test.txt", "r");   //读取文件
    	var_dump($fp);  //var_dump打印资源变量
    	fclose($fp);  //关闭文件
    ?>
    

    空(null)

    空值,顾名思义,表示没有为该变量设置任何值。另外,空值(null)不区分大小写,null和NULL效果是一样的。

    <?php
    	$str=null;
    	echo "str的值是: $str";
    ?>
    

  • 相关阅读:
    JAVA学习前应该了解
    JAVA帝国的诞生
    常用的快捷方式
    MarkDown学习
    运动检测
    图像分割
    感知机
    线性判别函数
    距离
    概率密度估计笔记——非参数估计
  • 原文地址:https://www.cnblogs.com/hxlinux/p/14746782.html
Copyright © 2020-2023  润新知