2011-09-05 70 views
0

我有一些拉取數據庫主鍵並通過調用函數遍歷它們的代碼。函數調用時遇到的PHP整數類型

當我從數據庫中獲得密鑰並執行is_int($ key)時,它將返回true。

我然後調用一個函數:thisfunction($鍵)

調用函數中,我做到了,這樣你可以在$鍵傳遞和函數加載行該鍵也可以通過行作爲對象。在被調用函數的開始處,它檢查$ key是否爲$ _。當我用一個整數值調用它時它返回false。

回答

0

由於您從數據庫中獲取的所有內容都是類型字符串,因此可以嘗試使用is_numeric()而不是is_int()。

1

你從數據庫中得到的所有東西都是字符串。

這意味着,即使你有數據庫的INT列的,你會得到他們喜歡的:

id, name, age 
array("43", "Rok", "19"); 
+0

我正在Yii框架中工作,並假定模型將字符串從數據庫轉換爲整數。我將支票更改爲is_numeric()並停止了該錯誤。 – Mel

+0

+1如果你能證明'你從數據庫中得到的所有東西都是字符串。' – ajreal

+0

@ajreal,那是在考慮mysql和PHP(我不能說所有的數據庫都是這樣),並且很明顯OP使用的是一個數據庫將其轉換。 –