我有一个表,其中一列的值是较长单词的缩写,并且表当前正在填充的方式,我不能更改列中的值。
然后我有一个PHP页面,做一个基本的MySQL查询和回声的这些值到页面上,我想做的是回声值在他们的长字格式,但没有交叉查询-他们必须与页面上的变量组成(除非有人可以建议另一种方式):
我的意思是:
TABLE A - ROW 1
- A1 {long: Alpha1}
- B1 {long: Bravo1}
- C1 {long: charli1}
- D1 {long: Delta1}
- E1 {long: Echo1}
是否有一种更简单/更短的方法来编写查询数据库的页面,而不是做大量的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:
$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];