學習PHP和我有一個問題。PHP數組元素比較
如何從數組中獲取元素並確定它是否等於靜態值?我有一個查詢語句返回集(確認數組有所有值)。
我想:
<? if($row["rowValue"] == 1) {
}
?>
我期待值是1,但它返回空值(好像我做錯了)。
學習PHP和我有一個問題。PHP數組元素比較
如何從數組中獲取元素並確定它是否等於靜態值?我有一個查詢語句返回集(確認數組有所有值)。
我想:
<? if($row["rowValue"] == 1) {
}
?>
我期待值是1,但它返回空值(好像我做錯了)。
你幾乎沒有;這樣的事情應該確認它爲您:
echo "<p>Q: Does ".$row["rowValue"]." = 1?</p>";
if($row["rowValue"] == 1) {
echo "<p>A: Yes ".$row["rowValue"]." does equal 1</p>";
} else {
echo "<p>A: No, '".$row["rowValue"]."' does not equal 1</p>";
}
如果仍然返回「不」,你可以嘗試做陣列的變種轉儲,像這樣觀看整個$row
數組:
var_dump($row);
這將給你詳細的數組輸出結果,你應該能夠看到你是否正在調用數組中的正確元素。
行上的轉儲爲[「hasReport」] =>字符串(1)「0」。這很奇怪,因爲db中的d類型是一個整數。 – user82302124
如果您將其從數據庫中提取出來,您的數組將自動假定該值是一個字符串,而不是int。如果你正在使用'if($ row [「rowValue」] == 1)'comparison(如果你比較像這樣:if($ row [「rowValue」] === 1 )'[這裏有一點點](http://stackoverflow.com/questions/80646/how-do-the-equality-double-equals-and-identity-triple-equals-comparis)),你會看看你是否將我的代碼更改爲== 0,它會在你的情況下返回true。 – Stu
所以我做了一個print_r的變量。它在0時打印0,當它爲1時不打印。我不明白爲什麼。所以我將比較改爲== 0,它在0時有效。任何想法爲什麼會這樣?這是一個TINYINT,最大長度爲4. – user82302124
什麼是返回null
?
試試這個:
if($row["rowValue"] === 1) { ... }
確保有在$row
稱爲rowValue
的元素。
也許嘗試:
<? if($row[0]["theNameOfAColumn"] == 1) {
}
?>
通常的數據庫,如行返回行[0],行[1],行[2]等
我不知道你在做什麼,而是嘗試使用array_filp(),將交易所與他們相關的值 所有按鍵比你可以像
if($row["rowValue"] == 1) {
如果」從mysqli_fetch_row重新拉它,然後它想要一個數字,而不是列名。如果它正從mysqli_fetch_array中提取,那麼它將接受一個列名。
當你的print_r($行)使用mysql_fetch_assoc – user82302124
,你得到了什麼? – csi
看到「$ row」讓我覺得你是從結果集中拉出來的......你能在代碼中得到結果集嗎?你使用mysqli嗎?只要「$ row ['rowValue']」有一個值,那麼你應該有什麼工作。 – Ben
列名是否爲'rowValue'? –