文章目录
标量类型
特点:只能存储单一数据。
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);
MySQL学习笔记