从DB中取出的变量不在函数中工作

时间:2015-01-16 14:40:43

标签: php arrays

无法理解为什么从数据库中提取的变量无效。

我正在使用array_search()搜索一个数组。

使用如下功能:

$band2 = taxBandtoPrice2("$car->tax_band");
echo "(£$band2 Per Year)"; 

注意,“$ car-> tax_band”是一个采用tax_band值的查询。这部分适用于某种情况。

$ band2始终为空白。如果我用“c”替换“$ car-> tax_band”,它可以正常工作。

如果我出错了怎么办呢?

功能本身:

function taxBandtoPrice2($taxband){
  $bands = array(
    0 => 'a',
    1 => 'b',
    ...
  );
  $key = array_search($taxband, $bands);
  return $key;
}

2 个答案:

答案 0 :(得分:0)

查看代码应该有效。您可以尝试以下更改:

$band2 = taxBandtoPrice2($car->tax_band);
echo "(£{$band2} Per Year)"; 

确保使用var_dump($car->tax_band),然后使用var_dump($band2)确保和类型的值。我能想到什么有两个原因:

  1. $car->tax_band不等于$bands中的值。甚至单身 空间和低/大写有所不同。
  2. 列表项$car->tax_band获取 在传递给函数之前被覆盖。

答案 1 :(得分:0)

对我来说很简单。

我传入的是C但是我的数组中的值是小写的......

我用

将值更改为小写
strtolower();