什么是数据类型
- 就是
瓶子的类型 - 五八法则
- 5种伪类型, 8种主要数据类型

整型
- 不是美容整形, 是
整数类型 - 包括十进制, 八进制, 十六进制, 二进制
- 八进制以0开头
- 十六进制以0x开头
- 二进制以0b开头
echo和var_dump

- 可以一次打印一个或者多个
$a = $b = $c = 123;
var_dump($a, $b, $c);
小练习
单选
下列可以用来打印变量的数据类型的是()(选择一项)

单选题 下列是PHP的主要数据类型的是()(选择一项)
1、整型
2、浮点型
3、布尔型
4、对象
5、数组
6、资源
7、类
8、字符串型
9、空
10、接口

浮点数
- 就是带小数点的数字
- 浮点, 代表小数点可以任意浮动
- 浮点数也可以表示成科学计数法的形式
- 不要比较两个浮点数的大小...
小练习
多选题
下列正确表示PHP的浮点型数据的是()(选择两项)

布尔值
- 只有两个, 要么是真, 要么是假,
trueorfalse - 不区分大小写
防止中文乱码

需要在文件头部添加如下代码
header('content-type:text/html;charset=utf-8')
多选题
下列对布尔变量的声明正确的是()(选择两项)

字符串类型
- 字符串需要写在
定界符之中 - 有四种, 单引号, 双引号, heredoc, nowdoc
双引号和单引号的区别
- 双引号可以解析变量, 单引号不能解析变量, 所以单引号执行的效率更高
- 关于变量的
定界问题 - 花括号和变量之间可以有空格吗?
- 如果单引号里面需要有单引号怎么办? 或者双引号中用到了双引号...

- 需要转义
- 常见转义符号

- 当引号之间发生冲突的时候, 才需要转义
- 思考如下代码的执行结果...

- 如果是双引号呢?

小练习
单选题
下列哪个变量的输出结果是Tom said:"I'm fond of PHP!"()(选择一项)
A $words1='Tom said:"I'm fond of PHP!"';
B $words2="Tom said:"I'm fond of PHP!"";
C $words3="Tom said:\"I'm fond of PHP!\"";
D $words4='Tom said:\"I'm fond of PHP!\"';
对字符串进行增删改查
- 通过
下标取出字符串中的内容 字符串变量[下标]或者字符串变量{下标}- 通过赋值可以替换
字符串变量[下标] = 替换的值字符串变量{下标} = 替换的值- 下列代码的结果是什么?
$string='abc';
$string{0}='hello';
echo $string;
- 这段代码呢?
$string='你好';
$string[1] = "帅";
echo $string;
- 思考一下, 如何删除一个字符串?
$string = "abc";
$string[1] = '';
echo $string;
- 如何增加呢?
$string = "abc";
$string{3} = 'd';
echo $string;
小练习
单选题
下列哪项能够从字符串$string='Knowledge is power!'中一次性截取出字符串now()(选择一项)
A echo $string{1}{2}{3};
B echo $string{1~3};
C echo $string{1}.$string{2}.$string{3};
D echo $string{1},{2},{3};
heredoc 和 nowdoc
- 如果我们需要写一大段文字, 比如建立一个表格...
- 我们通常需要这么写...
$id=2;
$username='xujunhao';
$email='xujunhao@126.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>382771946@qq.com</td>
</tr>
<tr>
<td>{$id}</td>
<td>{$username}</td>
<td>{$email}</td>
</tr>
</table>";
echo $str;
- 如果用上引号做定界符, 那么文字中的双引号, 都需要转义...
- 我们还可以这么写...
<?php
$id = 2;
$username = "xujunhao";
$email = "xujunhao@126.com";
$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>382771946@qq.com</td>
</tr>
<tr>
<td>{$id}</td>
<td>{$username}</td>
<td>{$email}</td>
</tr>
</table>
TABLE;
echo $str;
- 这样的话, 引号就不用了转义了...
- 注意:
结束符前面不能有输出, 包括空格 - heredoc相当于双引号, 可以解析变量
- nowdoc相当于单引号, 不能解析变量

小练习
单选题
下列变量的声明用到nowdoc定界符的是()(选择一项)
