PHP入门到精通-学习之路
字数 1240 2025-08-20 18:17:53

PHP 从入门到精通:数据类型、运算符与流程控制

0x01 PHP 数据类型

一、基础数据类型

  1. 整型 (int)

    • 存储整数
    • 示例:$num = 123;
  2. 浮点型 (float)

    • 存储小数或超出整型范围的数
    • 示例:
      $f1 = 1.23;
      $f2 = 1.23e10;  // 科学计数法
      $f3 = PHP_INT_MAX + 1;  // 超出整型范围自动转为浮点型
      var_dump($f1, $f2, $f3);
      
  3. 字符串 (String)

    • 用于存储文本数据
  4. 布尔类型 (Boolean)

    • 只有两个值:truefalse
    • 主要用于条件判断

二、复杂数据类型

  1. 数组 (array)

    • 存储多个值的集合
  2. 对象 (object)

    • 面向对象编程的基础

三、特殊数据类型

  1. 资源类型 (Resource)

    • 表示外部资源,如数据库连接、文件句柄等
  2. Null

    • 表示变量没有值

0x02 PHP 运算符

原码、反码与补码

  1. 正数

    • 原码、反码、补码都相同
  2. 负数

    • 反码:符号位不变,其他位取反
    • 补码:反码 + 1
    • 示例:
      5原码: 10000101
      反码: 11111010
      补码: 11111011
      

位运算符

注意

  1. 系统进行位运算时都使用补码
  2. 运算结束后必须转换回原码才是最终显示的数据

位运算符

  • &:按位与 - 两个位都为1,结果为1,否则为0
  • |:按位或 - 两个位有一个为1,结果为1
  • ~:按位非 - 一个位为1则为0,为0则为1
  • ^:按位异或 - 两个位相同为0,不同为1
  • <<:按位左移 - 整个位向左移动一位,右边补0
  • >>:按位右移 - 整个位向右移动一位,左边补符号位(正数补0,负数补1)

0x03 PHP 流程控制

控制结构分类

  1. 顺序结构

    • 代码从上往下顺序执行
  2. 分支结构

    • 根据条件执行不同的代码块

    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;
    }
    
  3. 循环结构

    • 在条件控制范围内重复执行代码块

    for 循环

    for (初始化; 条件判断; 变量变化) {
        // 循环体
    }
    

    执行原理:

    1. 执行初始化(1次)
    2. 判断条件(N次)
      • 满足则执行循环体
      • 不满足则结束循环
    3. 执行循环体(N次)
    4. 执行变量变化(N次)
    5. 重复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的三大基础概念:

  1. 数据类型:包括基础类型、复杂类型和特殊类型
  2. 运算符:重点讲解了位运算符及其底层原理
  3. 流程控制:涵盖分支结构、循环结构及其控制语句

掌握这些基础知识是学习PHP编程的重要基础,特别是流程控制部分在实际开发中应用非常广泛。

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