我正在创建一个类别列表。。20个不同的类别,当他们单击并发送一个类别时,它将向数据库传递一个代表该类别的数值。。
例如:
<option value="1">Apple</option>
<option value="2">Microsoft</option>
我在数据库中传递数值的原因是,我在网页上有不止一种语言,而且我有不同的标签文件。我想根据类别号回显一个php变量。
<? echo $ct_1; ?>
但是为了避免很多if/else语句,我想知道是否可以将数字添加到变量中。因此,如果我将类别循环为:$row['category']
,我想将该变量添加到另一个。。像这样:
<? $category = $.'ct_'.$row['category']; echo $category; ?>
我知道那是不可能的。。但我希望你能理解我的想法,也许能找到解决方案。
这被称为变量。
$category = ${'ct_'.$row['category']};
echo $category;
或者只是:
echo ${'ct_'.$row['category']};
定制变量Docs示例:
<?php $category = 'ct_'.$row['category']; echo $$category; ?>
如果你仔细观察,它几乎与你的一模一样:
<?php $category = $.'ct_'.$row['category']; echo $category; ?>
^ ^
您可以使用eval(),但这可能会导致一些非常大的安全漏洞。
我建议使用数组:
$ct = array(1 => "Apple", 2 => "Microsoft");
echo $ct[$row['category']];
快速而肮脏的方法是使用eval
eval('$category = $ct_'. $row['category'] . ';');
echo $category;
请确保首先对输入进行消毒!