Выбор дополнительных параметров с помощью intval ($ row)

Я пытаюсь, чтобы эта функция работала с 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?

0

Решение

Вы должны посмотреть в переключатель заявления

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'] это значение.

0

Другие решения

Простой способ:

Определить массив …

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

И получить от этого …

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

Если массив используется один раз (то есть не используется другими полями, которые могут иметь эти значения), вы можете сократить его до:

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

Читаемость может отличаться. Попробуйте добавить пробелы и / или комментарии, чтобы объяснить, что происходит.

2

По вопросам рекламы [email protected]