php的八种基本数据类型

时间:2022-06-08
本文章向大家介绍php的八种基本数据类型,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

php的八种基本数据类型

 四种标量类型(存储单一量):

    ①整数型(int)

          例子:123,788,100,说有的整数等都是int型。

演示代码:

<?php
$a=180;//声明一个变量a,赋值180
echo $a;//输出a的值180
var_dump($a);//输出变量a,查看类型

②小数点(float也称作double)

        例子:1.5,5.2,1.0,3.0都是float类型。所有的小数点数。科学计数法(2000:2E3,0.15:1.5E-1)等都是float型。

<?php
$aa=18.5;
$aa1=3.0;
var_dump($aa);

③布尔型(bool)

bool型只有两个值,用于判断:ture(正确),false(错误)

                布尔值 FALSE 本身

                整型值 0(零)

                浮点型值 0.0(零)

                空字符串,以及字符串 "0"

                不包括任何元素的数组

                不包括任何成员变量的对象(仅 PHP 4.0 适用)

                特殊类型 NULL(包括尚未赋值的变量)

                从空标记生成的 SimpleXML 对象

                其它非零值(不论正负)一样,被认为是 TRUE!

演示代码:

<?php
$a=0;
var_dump((bool)$a);//整数型0,bool输出为false
$t;
var_dump((bool)$t);//没有赋值的变量,bool输出为false
$h=' ';
var_dump((bool)$h);//空字符串,或者字符串0,bool输出为false
$arry=[];
var_dump((bool)$arry);//没有内容的数组,输出为false
$num=0.0;
var_dump((bool)$num);// 浮点数0.0也输出false
$null=null;
var_dump((bool)$null);// 空值(null)也输出flase

 注意:字符串空格不算空字符串,字符串空格输出布尔型为ture;

④字符串(string)

string表示字符串,ABC,185,sghgssd都是输出字符串。

一个字符串可以用 4 种方式表达:

                    单引号

                    双引号

                    heredoc 语法结构:相当于双引号

                    nowdoc 语法结构(自 PHP 5.3.0 起):相当单引号

<?php
$a=180;
$name='小强';
$logo='JD';
$heredoc=<<<EOD
<ul>
    <li>$name</li>
    <li>$logo</li>
    <li>$a</li>
</ul>
EOD;
$cc=1888;
echo $heredoc;
$nowdoc=<<<'EOT'
<ul>
<li>$name</li>
<li>$logo</li>
<li>$cc</li>
</ul>
EOT;
echo $nowdoc;
语法:<<<开始标识符
....
开始标识符;

注意:heredoc和双引号会解析php的代码

变量解析:

当字符串用双引号或 heredoc 结构定义时,其中的变量将会被解析。

这里共有两种语法规则:一种简单规则,一种复杂规则。简单的语法规则是最常用和最方便的,它可以用最少的代码在一个 string 中嵌入一个变量,一个 array 的值,或一个 object 的属性。

复杂规则语法的显著标记是用花括号包围的表达式。

①简单方法:

双引号和heredoc的用法

代码:

<?php
//双引号解析
$a='haha;'
echo "$a"//变量a被解析,显示haha

heredoc自定义定界符

代码:

<?php
$a='tom';
$heredoc=<<<EOD
$a
EOD;
//变量a被解析显示

②复杂方法(花括号法):

复杂语法不是因为其语法复杂而得名,而是因为它可以使用复杂的表达式。

任何具有 string 表达的标量变量,数组单元或对象属性都可使用此语法。只需简单地像在 string 以外的地方那样写出表达式,然后用花括号 { 和 } 把它括起来即可。用花括号将变量名括起来,例如{$a},变量将被解析。花括号进行定界符解析。

代码如下:

<?php
//输出haha123,把变量a赋值haha
$a='haha';
echo "{$a}123"//花括号内的变量被解析,输出haha123

花括号的增删改查

<?php
$str='tombbb';
echo $str;//输出str的值tombbb
echo '<br>';
//利用{}增加,从0开始数
$str{6}='s';
//输出增加后的数值,理论输出tombbbs
echo $str;
echo '<br>';
//利用{}修改;
$str{1}=1;
echo $str;//输出t1mbbbs
echo '<br>';
echo $str{2};//理论输出m

echo '<hr>';
//利用{}进行删除
$str{1}=' ';
echo '<br>';
echo $str;//显示t mbbbs

两种复合类型(存储多个量)

数组(array)

语法:

$变量名=array();

$变量名2=[];

代码如下:

<?php
//声明一个数组
$ary1=array('a','b','c');//标准风格,php5.4以前
$ary2=['d','e','f'];//短风格,php5.6以后版本支持
echo $ary2[1];//输出ary的第2位值。输出e。

注意:数组顺序也是从0开始。

对象(object)

语法:

$变量名=new stdclass();

代码演示:

<?php
$a=new stdclass();//对象初始化(object)
var_dump($a);//输出a的数据类型,显示为object(stdClass)#1 (0) { },对象输出类型
?>

两种特殊类型:

resource(资源)

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

例子:

代码如下:

<?php
$a=fopen('note.txt','r'); //fopen函数,第一个打开的文件(note.txt),第二个值:只读(r);
var_dump($a);//如果同级目录下存在note.txt则显示资源流以及类型,没有文件存在提升布尔型false.

文件存在提示资源流:

文件不存在时候返回布尔型,false。

NULL(空值)

特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:

  • 被赋值为 NULL。
  • 尚未被赋值。
  • 被 unset()。

注意:使用 (unset) $var 将一个变量转换为 null 将不会删除该变量或 unset 其值。仅是返回 NULL 值而已。