У меня есть таблица со столбцом, в котором есть значения, которые являются сокращением более длинных слов и способа заполнения таблицы в настоящее время. Я не могу изменить значения в столбце.
Затем у меня есть страница PHP, которая выполняет базовый запрос MySQL и выводит эти значения на страницу, я хочу сделать это, чтобы отобразить значения в их более длинном формате слова, но мне нечего перекрестно запрашивать — они должны быть составлены из переменных на страница (если кто-то не может предложить другой путь):
Это то, что я имею в виду:
Существует ли более простой / короткий способ кодирования страницы, запрашивающей базу данных, кроме выполнения многочисленных операторов if / elseif:
if ($value == 'A1')
{
echo 'Alpha1';
}
elseif ($value =='B1')
{
echo 'Bravo1';
}
Вы можете использовать оператор switch:
switch ($value) {
case 'A1' :
echo 'Alpha1';
break;
case 'B1' :
echo 'Bravo1';
break;
default:
echo 'default'
break;
}
Или вы можете использовать карту:
$map = array('A1' => 'Alpha1', 'B1' => 'Bravo1');
echo array_key_exists($value, $map) ? $map[$value] : 'default';
Вы также можете использовать троичные операторы, например так:
echo ($value == 'A1') ? 'A1' : 'Bravo1';
Или, если у вас есть несколько условий, как вы упомянули, например, так:
echo ($value == 'A1') ? 'A1' : (($value == 'B1') ? 'Bravo' : 'Charlie1');
и тд и тп
Создайте массив для хранения их всех, используя короткий код в качестве ключа и длинное слово в качестве значения:
$words = array();
$words['A1'] = 'Alpha1';
$words['B1'] = 'Bravo1';
$words['C1'] = 'Charlie1';
$words['D1'] = 'Delta1';
$words['E1'] = 'Echo1';
Затем вызовите массив, используя ключ, для вывода длинного слова.
echo $words[$value];