文章目录
标量类型
特点:只能存储单一数据。
1.整型(int|integer)
整数,十进制,八进制,十六进制。
int.php
<?php //整型的例子 //声明整型 //十进制数字 $int = 123; $var = 123; echo $var; echo '<br />'; $int = 0; $int = -12; var_dump($int); //声明16进制数 $var = 0123; var_dump($var); echo '<hr/>'; //一次声明多个变量,输出多个变量 $a=$b=$c=123; var_dump($a,$b,$c);
test.php
<?php $var1 = 256; $var2 = -256; $var3 = 0256;//八进制表示方式为前加0 $var4 = 0x256;//十六进制表示方式为前加0x echo '正整数:'; echo $var1; echo '<br/>'; echo '负整数:'; echo $var2; echo '<br/>'; echo '八进制数:'; echo $var3; echo '<br/>'; echo '十六进制数:'; echo $var4;
2.浮点型(float|double|real)
带小数点,科学计数法的写法,e或者E。
注意:浮点数是有误差,不要比较两个浮点数的大小
float.php
<?php //浮点型的例子 $float = 12.3; var_dump($float);//float 12.3 $float = -23.4; var_dump($float);//float -23.4 //科学计数法的写法 $float = 2e3;//2乘以10的3次方 var_dump($float);//float 2000 $float = 2E-2;//2乘以10的-2次方 var_dump($float);//0.02
3. 布尔型(bool|boolean)
要么是真,要么是假,true|TRUE:真。false|FALSE:假。
bool.php
<?php //告诉浏览器以什么编码方式解析什么类型的文档,防止中文乱码 header('content-type:text/html;charset=utf-8'); //布尔的例子 $bool = true; var_dump($bool);//bool true $bool = TRUE; var_dump($bool);//bool true $var1 = false; $var2 = FALSE; var_dump($var1,$var2);//bool false bool false //if语句 $dream = true; if($dream){ echo '买路虎'; }else{ echo 'code'; }
test.php
<?php //任务: //光在水中的速度为:225000000m/s //光在玻璃中的速度为:200000000m/s //光在空气中的速度为:300000000m/s $var1 = 2.25e8; $var2 = 2e8; $var3 = 3E8; echo '光在水中的速度为:'.$var1.'m/s'.'<br/>'; echo '光在玻璃中的速度为:'.$var2.'m/s'.'<br/>'; echo '光在空气中的速度为:'.$var3.'m/s';
4.字符串型(string)
定界符
单引号
双引号
单引号和双引号的区别:单引号不解析变量,双引号解析变量,单引号只解析\'和\\
heredoc
写法1:
<<<名称
代码段;
名称;
写法2:
<<<"名称"
代码段;
名称;
注意:在结束名称之前不能有任何输出,heredoc相当于双引号
nowdoc
<<<'名称'
代码段;
名称;
注意:nowdoc相当于单引号的作用
转义符
\n换行
\r回车
\t水平制表符
以上三个为源代码中有效果,页面上只显示一个空格
\\ -> \
\$ -> $
\' -> '
\" -> "
花括号{}
a.可以将PHP中的变量括成一个整体来解析
{$变量名称}
${变量名称}
b.可以对字符串中的指定字符做增删改查的操作
字符串的下标从0开始
根据下标找到对应的字符做操作
单引号 双引号 单引号和双引号的区别:单引号不解析变量,双引号解析变量,单引号只解析\'和\\ heredoc 写法1: <<<名称 代码段; 名称; 写法2: <<<"名称" 代码段; 名称; 注意:在结束名称之前不能有任何输出,heredoc相当于双引号 nowdoc <<<'名称' 代码段; 名称; 注意:nowdoc相当于单引号的作用
转义符
\n换行
\r回车
\t水平制表符
以上三个为源代码中有效果,页面上只显示一个空格
\\ -> \
\$ -> $
\' -> '
\" -> "
花括号{}
a.可以将PHP中的变量括成一个整体来解析
{$变量名称}
${变量名称}
b.可以对字符串中的指定字符做增删改查的操作
字符串的下标从0开始
根据下标找到对应的字符做操作
a.可以将PHP中的变量括成一个整体来解析 {$变量名称} ${变量名称} b.可以对字符串中的指定字符做增删改查的操作 字符串的下标从0开始 根据下标找到对应的字符做操作
string.php
<?php header('content-type:text/html;charset=utf-8'); //字符串的例子 $username = 'king'; $email = '183812@qq.com'; $string = ''; var_dump($string);//string(0) "" echo '<br />'; var_dump($username);//string(4) "king" echo '<br />'; echo 'this is a test <br/>'; echo "hello world"; echo '<br />'; //echo '','',$username; //单引号不解析变量,双引号解析变量 echo $username,'<br />';//king echo '$username';//$username echo '<br />'; echo "$username".'<br />';//king //如何内容和定界符有冲突,需要转移字符进行解决 //任务:输出的效果为 He Said "I'm Fine" $str1 = 'He Said "I\'m Fine" <br />'; $str2 = "He Said \"I'm Fine\""; echo $str1,$str2; echo '<hr />'; //单引号只解析\'和\\两个转移符号 $str = '!\r@\n#\t%a\\b\'c\$de'; $str = "!\r@\n#\t%a\\b\"c\$de"; echo $str; echo '<hr />'; //任务:输出的效果为$var=123; $var = 123; echo "\$var的值为$var"; echo '<br/>'; echo '$var的值为'.$var; echo '<br/>'; //任务:输出的效果为名称king是我 //php引擎在解析变量的时候,将会尽可能的向后取合法字符,认为取的越多,变量含义越明确 $username = 'king'; echo "名称{$username}是我<br/>"; echo "名称${username}是我";
string2.php
<?php //对于字符串中的指定字符做增删改查操作 $string = 'abcdefg'; //查找 echo $string{0};//a echo '<br />'; echo $string{2};//c echo '<br />'; echo $string{5};//f echo '<br />'; //修改,只能一个字符替换一个字符 $string{1} = 'z'; echo $string; //azcdefg $string{4} = '!'; echo '<br/>'; echo $string; //azcd!fg echo '<br/>'; $string = 'abc'; $string{0} = 'hello'; echo $string;//hbc echo '<br/>'; //不要对中文字符做操作 $string = '你好'; var_dump($string);//string(6) "你好"(6个字符) echo '<hr/>'; //删除 //$string = 'abcdefg'; //$string{2} = ''; //echo $string;//abdefg echo '<br/>'; //$string{0} = ''; //echo $string;//bdef //echo '<br/>'; //添加字符 $string = 'abc'; $string{3}='d'; echo $string;//abcd echo '<br/>'; $string{5}='e'; echo $string;//abc e /* * $string='king'; * * 1.输出首字母 * 2.将字符串中n编程o * 3.将字符串中i删除掉 * 4.在字符串末尾添加一个! * */ echo '<br/>'; $string = 'king'; echo $string{0}; echo '<br/>'; $string{2} = 'o'; echo $string; echo '<br/>'; //$string{1} = ''; //echo $string; echo '<br/>'; $string{4} = '!'; echo $string;
test.php
<?php //任务:输出效果为now $string = 'Know'; echo $string{1}.$string{2}.$string{3}; echo '<br/>'; //任务:输出效果为 //principal-->princilel //mortal-->mertal-->mertal //later-->latest-->latest $str1 = 'principal'; $str2 = 'mortal'; $str3 = 'later'; echo $str1,'-->'; $str1{6} = 'l'; $str1{7} = 'e'; echo $str1; echo '<br/>'; echo $str2,'-->'; $str2{1} = 'e'; echo $str2,'-->'; $str{2} = 'd'; echo $str2; echo '<br/>'; echo $str3,'-->'; $str3{4} = 's'; $str3{5} = 't'; echo $str3,'-->',$str3;
heredoc.php
<?php $id = '2'; $username = 'queen'; $email = "1232@qq.com"; $str = "<table border='1' width='80%' bgcolor='pink'> <tr> <td>编号</td> <td>用户名</td> <td>邮箱</td> </tr> <tr> <td>1</td> <td>king</td> <td>183811629@qq.com</td> </tr> <tr> <td>{$id}</td> <td>{$username}</td> <td>{$email}</td> </tr> </table>"; //echo $str; //通过heredoc写法 $str=<<<EOF this is test <h1>hello world</h1> EOF; //echo $str; $str=<<<TABLE <table border='1' width='80%' bgcolor='gold'> <tr> <td>编号</td> <td>用户名</td> <td>邮箱</td> </tr> <tr> <td>1</td> <td>king</td> <td>183811629@qq.com</td> </tr> <tr> <td>{$id}</td> <td>{$username}</td> <td>{$email}</td> </tr> </table> TABLE; echo $str; echo '<hr/>'; //heredoc另一种写法 $str=<<<"TEST" <h1>this is show time</h1> TEST; echo $str; echo '<hr/>'; //测试nowdoc $str=<<<'EOD' <h1>this is a test</h1> <p>用户名:{$username}</p> EOD; //没有解析$username变量
test.php
//任务 定界符使用heredoc 要求输出效果图为七彩9块正方形 <?php $str=<<<"EOF" <table width="300px" border="0px" height="300px"> <tr width="100px" height="100px"> <td bgcolor="#ff1493"></td> <td bgcolor="#ff1493"></td> <td bgcolor="aqua"></td> </tr> <tr width="100px" height="100px"> <td bgcolor="#ff7f50"></td> <td bgcolor="#f0f8ff"></td> <td bgcolor="aqua"></td> </tr> <tr width="100px" height="100px"> <td bgcolor="#ff7f50"></td> <td bgcolor="#dc143c"></td> <td bgcolor="#dc143c"></td> </tr> </table> EOF; echo $str;
复合类型
1.数组(Array)
2.对象(Object)
特殊类型
1.资源(Resource)
2.空(null|NULL)
变量未声明直接使用,它的值就是null
声明一个变量并且赋值为null
经过unset()注销过的变量值为null
特殊类型
1.资源(Resource)
2.空(null|NULL)
变量未声明直接使用,它的值就是null
声明一个变量并且赋值为null
经过unset()注销过的变量值为null
变量未声明直接使用,它的值就是null 声明一个变量并且赋值为null 经过unset()注销过的变量值为null
compoundType.php
<?php //设置错误级别,E_ALL但是除了 NOTICE //error_reporting(E_All&~E_NOTICE); //测试复合类型 //声明一个数组 $arr = array(); var_dump($arr); echo '<hr/>'; $arr = array(12,'king',true,123.45); var_dump($arr); echo '<hr/>'; //对象 $obj = new Stdclass(); var_dump($obj);//object(stdClass)#1 (0) { } echo '<hr/>'; //特殊类型 $handle = fopen('./test5.php','r'); var_dump($handle);//resource(3) of type (stream) echo '<hr/>'; //测试空 //未声明的变量直接使用 var_dump($asfsd); echo '<br />'; //声明一个变量赋值为null $var = null; var_dump($var); echo '<br />'; //通过unset销毁变量 $var = 123; var_dump($var); echo '<br />'; unset($var); var_dump($var); echo '<br />'; //一次销毁3个变量 $a=$b=$c='king'; var_dump($a,$b,$c); echo '<br />'; unset($a,$b,$c); var_dump($a,$b,$c);