2015-01-16 37 views
0

無法讓我的腦袋爲什麼從數據庫中拉出的變量不起作用。從數據庫中拉出的變量不能在函數中工作

我有一個數組,我使用array_search()搜索。

使用功能,像這樣:

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

注意, 「$小車 - > 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; 
} 
+0

的print_r($車),並檢查是否tax_band即將到來或不在陣列中。 – Neelesh

+2

爲什麼''car-> tax_band'周圍有''''字符?你真的想把它作爲字符串傳遞嗎? –

+0

@ bali182即使我刪除了「它仍然沒有返回任何東西。我不明白什麼打印回報。 – Lovelock

回答

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獲取 在傳遞到函數之前被覆蓋。
+0

var_dump returns:string(1)「C」,$ band2 – Lovelock

0

簡單解決這個問題。

我傳遞一個C,但在我的數組中的值是小寫...

我的變到小寫與

strtolower(); 
相關問題