• <day2>炼精化气——运算符与流程控制的“心法”

    功法摘要(今日收获)

    ✅ 掌握了五行运算符(算术、赋值、比较、逻辑)
    ✅ 领悟了条件判断的心法(if/else、switch)
    ✅ 学会了“炼精化气”之术——将数据转化为有意义的信息
    ✅ 初窥流程控制之道——让代码拥有“思考”的能力

    🌌 道友,昨日你已觉醒灵根,今日我们将“炼精化气”!

    昨日你已知晓PHP世界的本源元气(数据类型),今日你将学习如何运用这些元气进行“炼化”——通过运算符将数据转化为更有意义的信息,并通过流程控制让代码拥有“思考”的能力。

    【五行运算符:元气炼化之术】

    在PHP大世界中,运算符是炼化元气的工具,如同炼丹炉中的火焰,将原材料转化为丹药。

    灵根 运算符类型 特性阐释 代码真言
    🔥 火 (算术) +, -, *, /, % 炼化元气,进行数学计算。%为取模,求余数。 $sum = $a + $b;
    💧 水 (赋值) =, +=, -=, *=, /= 将炼化的结果存入变量。简写形式可提升效率。 $x += 10; // 等价于 $x = $x + 10;
    🌙 月 (比较) ==, ===, !=, <>, !==, >, <, >=, <= 比较元气强弱,返回布尔值(true/false)。===为全等比较。 $isStrong = $power > 100;
    ⚡ 雷 (逻辑) && (and), \|\| (or), ! (not) 组合多个条件,进行逻辑判断。 $canAttack = $hasWeapon && $hasEnergy;

    炼丹秘籍

    • == 仅比较值,=== 比较值和类型(推荐使用 ===
    • 逻辑运算符优先级:! > && > \|\|

    【内视紫府:条件判断心法】

    掌握了元气炼化之术,接下来需要学习如何根据条件做出判断——这就是“炼精化气”的关键。

    1. if/else 条件判断

    // 基础语法
    if (条件) {
        // 条件为真时执行
    } elseif (另一个条件) {
        // 前一个条件为假,此条件为真时执行
    } else {
        // 所有条件都为假时执行
    }
    

    实战示例:灵力等级判断

    $mp = 285.7;
    
    if ($mp >= 1000) {
        echo "元婴期大能!";
    } elseif ($mp >= 500) {
        echo "金丹期高手!";
    } elseif ($mp >= 100) {
        echo "筑基期修士!";
    } else {
        echo "炼气期新手,还需努力!";
    }
    

    2. switch 多分支判断

    当需要判断多个可能的值时,使用 switch 更加清晰:

    $element = "火";
    
    switch ($element) {
        case "金":
            echo "攻击力+10";
            break;
        case "木":
            echo "生命值+10";
            break;
        case "水":
            echo "防御力+10";
            break;
        case "火":
            echo "暴击率+10%";
            break;
        case "土":
            echo "抗性+10";
            break;
        default:
            echo "未知元素";
    }
    

    注意:每个 case 后需要加 break,否则会继续执行下一个 case(称为"穿透")。

    🎯 今日修炼:凝聚你的“判断之力”

    理论已毕,需以实践固之。请你在紫府中凝聚以下“心法”,构筑你的第一道“判断神念”。

    修炼任务

    1. 凝聚【算术】灵根:计算你的灵力值乘以2,再除以3,取余数。
    2. 凝聚【比较】灵根:判断你的灵力值是否大于100,结果存入变量。
    3. 凝聚【逻辑】灵根:判断你是否拥有武器($hasWeapon)且灵力值大于50。
    4. 修炼【if/else】心法:根据灵力值输出不同的境界描述。
    5. 修炼【switch】心法:根据五行元素输出对应的属性加成。
    6. 【筑基挑战】:编写一个简单的“五行相生相克”判断器。

    代码示例

    <?php
    // 于紫府内凝聚元气
    $daoHao = "清风道人";
    $mp = 285.7;
    $hasWeapon = true;
    $element = "火";
    
    // 1. 算术运算
    $mpDoubled = $mp * 2;
    $mpDivided = $mpDoubled / 3;
    $mpRemainder = $mpDoubled % 3;
    
    // 2. 比较运算
    $isStrong = $mp > 100;
    
    // 3. 逻辑运算
    $canAttack = $hasWeapon && $isStrong;
    
    // 4. if/else 判断
    if ($mp >= 1000) {
        $level = "元婴期";
    } elseif ($mp >= 500) {
        $level = "金丹期";
    } elseif ($mp >= 100) {
        $level = "筑基期";
    } else {
        $level = "炼气期";
    }
    
    // 5. switch 判断
    $elementBonus = "";
    switch ($element) {
        case "金":
            $elementBonus = "攻击力+10";
            break;
        case "木":
            $elementBonus = "生命值+10";
            break;
        case "水":
            $elementBonus = "防御力+10";
            break;
        case "火":
            $elementBonus = "暴击率+10%";
            break;
        case "土":
            $elementBonus = "抗性+10";
            break;
        default:
            $elementBonus = "未知元素";
    }
    
    // 输出结果
    echo "道号:" . $daoHao . "\n";
    echo "灵力值:" . $mp . "\n";
    echo "灵力值x2:" . $mpDoubled . "\n";
    echo "除以3取余:" . $mpRemainder . "\n";
    echo "是否强大:" . ($isStrong ? "是" : "否") . "\n";
    echo "能否攻击:" . ($canAttack ? "是" : "否") . "\n";
    echo "当前境界:" . $level . "\n";
    echo "元素加成:" . $elementBonus . "\n";
    
    // 内视周天!
    echo "\n========内视紫府========\n";
    var_dump($mpDoubled, $mpRemainder, $isStrong, $canAttack, $level, $elementBonus);
    ?>
    

    ✨ 预告明天:循环与数组

    明日,我们将研修循环语句数组!此乃“聚气成阵”之关键,将赋予你的代码批量处理数据集合的能力!例如:“对数组中的每个元素执行相同操作”或“重复执行某段代码直到满足条件”。你的代码将拥有“分身术”!

    参考资料

    • PHP官方文档:运算符
    • PHP官方文档:控制结构