You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP嵌套if语句实现数字颜色匹配求助

使用嵌套if语句实现PHP数字与颜色的匹配

没问题,咱们来一步步实现这个需求。先看你定义的几个数组,我们可以通过嵌套if语句,按优先级先处理特殊的$zero数组,再依次匹配红、黑对应的数字,逻辑非常清晰。

先给你完整的代码示例:

// 你的数组定义
$zero = array(0=>"Empty",1=>"Red");
$red = array(3=>"Red",5=>"Red",7=>"Red",9=>"Red",12=>"Red",14=>"Red",16=>"Red",21=>"Red",23=>"Red",25=>"Red",27=>"Red",30=>"Red",32=>"Red",34=>"Red",36=>"Red");
$black = array(2=>"Black",4=>"Black",6=>"Black",8=>"Black",10=>"Black",11=>"Black",13=>"Black",15=>"Black",17=>"Black",22=>"Black",24=>"Black",29=>"Black",31=>"Black"); // 假设你后续补全了剩余元素

// 要匹配的目标数字(可替换为任意需要判断的数字)
$number = 5;
$color = "";

// 嵌套if判断逻辑
if (array_key_exists($number, $zero)) {
    // 先判断是否在特殊的zero数组里(0和1是特殊值)
    $color = $zero[$number];
} else {
    if (array_key_exists($number, $red)) {
        // 不在zero数组里,再判断是否属于红色数字集合
        $color = $red[$number];
    } else {
        if (array_key_exists($number, $black)) {
            // 既不在zero也不在red,判断是否属于黑色数字集合
            $color = $black[$number];
        } else {
            // 所有情况都不匹配时,返回默认提示
            $color = "Invalid Number";
        }
    }
}

// 输出匹配结果
echo "Number $number corresponds to color: $color";

逻辑拆解:

  • 第一层if优先检查目标数字是否在$zero数组中——因为0和1是特殊值(0对应Empty,1对应Red),优先级最高,所以放在最前面判断。
  • 如果不在$zero里,进入第一层else,通过第二层if检查是否属于红色数字集合,匹配到就赋值Red。
  • 要是也不在$red里,进入第二层else,第三层if检查黑色数字集合,匹配到就赋值Black。
  • 最后一层else处理所有不匹配的情况,返回无效提示,避免出现空值或报错。

要是你觉得多层嵌套看着繁琐,也可以用elseif简化成单层判断,但既然你明确要求嵌套if,上面的写法就完全符合需求啦。

内容的提问来源于stack exchange,提问作者Aqil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:29:04