使用 intval( $row) 选择更多选项

Choosing more options with intval( $row)

我正在尝试让此函数处理 3 个或更多结果中的 1 个(例如 "Yes, NO, Why not, Maybe",但我找不到解决方案

$row['Funcionario'] = ( intval( $row['Funcionario']) == 1) ? "Yes" : "No"; 

上面的代码只给了我两种可能性:
是 ($row['Funcionario'] == 1 ) 或否 ($row['Funcionario'] != 1)
如何显示 Why not if $row['Funcionario'] == 2Maybe if $row['Funcionario'] == 3?

简单方法:

定义一个数组...

$answers = ["No", "Yes", "Why not", "Maybe"];

并从中得到...

$row['Functionario'] = $answers[$row['Functionario']];

如果数组是一次性使用的(即未被可能具有这些值的其他字段使用),您可以将其缩短为:

$row['Functionario'] = ["No", "Yes", "Why not", "Maybe"][$row['Functionario']];

可读性可能会有所不同。考虑添加空格 and/or 注释来解释发生了什么。

您应该查看 switch 声明

switch ($row['Funcionario']) {
    case 1:
        echo 'This code will be executed if $row[\'Funcionario\'] is 1';
        break;
    case 2:
        echo 'This code will be executed if $row[\'Funcionario\'] is 2';
        break;
    case "Yes":
        echo 'This code will be executed if $row[\'Funcionario\'] is Yes';
        break;
    default:
        echo 'This code will be executed if $row[\'Funcionario\'] is not any of the values before
}

您可以将 case 之后的值替换为您想要的任何值,如果 $row['Funcionario'] 是该值,则将执行以下代码直到下一个 break