例子:123,788,100,说有的整数等都是int型。
演示代码:
<?php
$a=180;//声明一个变量a,赋值180
echo $a;//输出a的值180
var_dump($a);//输出变量a,查看类型
例子: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型只有两个值,用于判断: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
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) { },对象输出类型
?>
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
例子:
代码如下:
<?php
$a=fopen('note.txt','r'); //fopen函数,第一个打开的文件(note.txt),第二个值:只读(r);
var_dump($a);//如果同级目录下存在note.txt则显示资源流以及类型,没有文件存在提升布尔型false.
文件不存在时候返回布尔型,false。
特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。
在下列情况下一个变量被认为是 NULL:
注意:使用 (unset) $var 将一个变量转换为 null 将不会删除该变量或 unset 其值。仅是返回 NULL 值而已。