无法理解为什么从数据库中提取的变量不起作用。
我有一个使用 array_search() 搜索的数组。
像这样使用函数:
$band2 = taxBandtoPrice2("$car->tax_band");
echo "(£$band2 Per Year)";
请注意,"$car->tax_band"是采用tax_band值的查询。这部分适用于一定。
$band 2 始终为空。如果我用"c"替换"$car->tax_band",它可以正常工作。
我应该如何做到这一点,我可能会出错?
函数本身:
function taxBandtoPrice2($taxband){
$bands = array(
0 => 'a',
1 => 'b',
...
);
$key = array_search($taxband, $bands);
return $key;
}
查看代码,它应该可以工作。您可以尝试以下更改:
$band2 = taxBandtoPrice2($car->tax_band);
echo "(£{$band2} Per Year)";
使用 var_dump($car->tax_band)
和稍后的 var_dump($band2)
确保值和类型是什么。我能想到的有两个原因:
-
$car->tax_band
不等于$bands
中的值。甚至一个空格和小写/大写有所不同。 $car->tax_band
获取的列表项在传递给函数之前被覆盖。
对我这个的简单修复。
我正在传入一个 C,但我的数组中的值是小写的......
我将值更改为小写
strtolower();