Я пытаюсь, чтобы эта функция работала с 1 из 3 или более результатами (например, «Да, НЕТ, Почему нет, Может быть», но я не могу найти решение
$row['Funcionario'] = ( intval( $row['Funcionario']) == 1) ? "Yes" : "No";
Код выше дает мне только 2 возможности:
Да ($row['Funcionario'] == 1
) или нет ($row['Funcionario'] != 1
)
Как мне показать Why not
если $row['Funcionario'] == 2
или же Maybe
если $row['Funcionario'] == 3
?
Вы должны посмотреть в переключатель заявления
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
с чем угодно, и следующий код до следующего break
будет выполнен, если $row['Funcionario']
это значение.
Простой способ:
Определить массив …
$answers = ["No", "Yes", "Why not", "Maybe"];
И получить от этого …
$row['Functionario'] = $answers[$row['Functionario']];
Если массив используется один раз (то есть не используется другими полями, которые могут иметь эти значения), вы можете сократить его до:
$row['Functionario'] = ["No", "Yes", "Why not", "Maybe"][$row['Functionario']];
Читаемость может отличаться. Попробуйте добавить пробелы и / или комментарии, чтобы объяснить, что происходит.