PHP入门到精通-学习之路
字数 1240 2025-08-20 18:17:53
PHP 从入门到精通:数据类型、运算符与流程控制
0x01 PHP 数据类型
一、基础数据类型
-
整型 (int)
- 存储整数
- 示例:
$num = 123;
-
浮点型 (float)
- 存储小数或超出整型范围的数
- 示例:
$f1 = 1.23; $f2 = 1.23e10; // 科学计数法 $f3 = PHP_INT_MAX + 1; // 超出整型范围自动转为浮点型 var_dump($f1, $f2, $f3);
-
字符串 (String)
- 用于存储文本数据
-
布尔类型 (Boolean)
- 只有两个值:
true和false - 主要用于条件判断
- 只有两个值:
二、复杂数据类型
-
数组 (array)
- 存储多个值的集合
-
对象 (object)
- 面向对象编程的基础
三、特殊数据类型
-
资源类型 (Resource)
- 表示外部资源,如数据库连接、文件句柄等
-
Null
- 表示变量没有值
0x02 PHP 运算符
原码、反码与补码
-
正数
- 原码、反码、补码都相同
-
负数
- 反码:符号位不变,其他位取反
- 补码:反码 + 1
- 示例:
5原码: 10000101 反码: 11111010 补码: 11111011
位运算符
注意:
- 系统进行位运算时都使用补码
- 运算结束后必须转换回原码才是最终显示的数据
位运算符:
&:按位与 - 两个位都为1,结果为1,否则为0|:按位或 - 两个位有一个为1,结果为1~:按位非 - 一个位为1则为0,为0则为1^:按位异或 - 两个位相同为0,不同为1<<:按位左移 - 整个位向左移动一位,右边补0>>:按位右移 - 整个位向右移动一位,左边补符号位(正数补0,负数补1)
0x03 PHP 流程控制
控制结构分类
-
顺序结构
- 代码从上往下顺序执行
-
分支结构
- 根据条件执行不同的代码块
if 分支:
-
最简if:
if (条件表达式) { // 满足条件执行的代码 }示例:
$day = "sunday1"; if ($day == "sunday") { echo 'go out'; } -
基础if:
if (条件表达式) { // 满足条件执行的代码 } else { // 不满足条件执行的代码 } -
复杂if:
if (条件表达式1) { // 代码块1 } elseif (条件表达式2) { // 代码块2 } else { // 代码块3 }
switch 分支:
switch (条件表达式) { case 值1: // 代码段1; break; case 值2: // 代码段2; break; default: // 默认代码; break; }示例:
$day = 1; switch ($day) { case 1: echo '1'; break; case 2: echo '2'; break; case 3: echo '3'; break; default: echo 'error'; break; } -
循环结构
- 在条件控制范围内重复执行代码块
for 循环:
for (初始化; 条件判断; 变量变化) { // 循环体 }执行原理:
- 执行初始化(1次)
- 判断条件(N次)
- 满足则执行循环体
- 不满足则结束循环
- 执行循环体(N次)
- 执行变量变化(N次)
- 重复2-4步直到条件不满足
特殊用法(死循环):
for (;;) { echo "hello world"; }while 循环:
while (条件表达式) { // 循环体 // 循环条件变化 }示例:
$i = 1; while ($i <= 10) { echo $i, '<br>'; $i++; }do-while 循环:
do { // 循环体 // 循环条件变化 } while (条件表达式);示例:
$i = 1; do { if ($i % 2 != 1) { echo $i, '<br/>'; } $i++; } while ($i <= 10);循环控制:
continue:跳过当前循环剩余部分,进入下一次循环continue n:跳过n层循环
break:终止当前循环break n:终止n层循环
示例:
$i = 1; while ($i <= 100) { if ($i % 5 != 0) { $i++; continue; } echo $i++, '<br>'; }foreach 循环:
- 专门用于遍历数组
流程控制替代语法
用于在HTML中嵌入PHP代码时提高可读性:
<?php for ($i = 1; $i < 10; $i++): ?>
<tr>
<?php for ($j = 1; $j <= $i; $j++): ?>
<td><?php echo $i."*".$j.'='.$i*$j; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
替代语法对应关系:
if:if (条件): ... endif;for:for (;;): ... endfor;while:while (条件): ... endwhile;foreach:foreach (): ... endforeach;
总结
本文详细介绍了PHP的三大基础概念:
- 数据类型:包括基础类型、复杂类型和特殊类型
- 运算符:重点讲解了位运算符及其底层原理
- 流程控制:涵盖分支结构、循环结构及其控制语句
掌握这些基础知识是学习PHP编程的重要基础,特别是流程控制部分在实际开发中应用非常广泛。