我有一个包含列的表,其中的值是较长单词的缩写,以及当前正在填充表格的方式我无法更改列中的值。
然后我有一个PHP页面,它执行基本的MySQL查询并将这些值回显到页面上,我想要做的是用更长的单词格式回显值但没有任何交叉查询 - 他们有由页面上的变量组成(除非有人可以建议另一种方式):
这就是我的意思:
除了执行大量的if / elseif语句之外,是否有更简单/更短的方式来编写查询数据库的页面:
if ($value == 'A1')
{
echo 'Alpha1';
}
elseif ($value =='B1')
{
echo 'Bravo1';
}
答案 0 :(得分:0)
您可以使用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';
答案 1 :(得分:0)
您也可以使用三元运算符,如下所示:
echo ($value == 'A1') ? 'A1' : 'Bravo1';
或者,如果您提到了多个条件,请执行以下操作:
echo ($value == 'A1') ? 'A1' : (($value == 'B1') ? 'Bravo' : 'Charlie1');
等等。
答案 2 :(得分:0)
构建一个数组来存储它们,使用短代码作为键,使用长字作为值:
key=lambda s: map(dsort.get, s)
然后使用键调用数组输出长字。
$words = array();
$words['A1'] = 'Alpha1';
$words['B1'] = 'Bravo1';
$words['C1'] = 'Charlie1';
$words['D1'] = 'Delta1';
$words['E1'] = 'Echo1';