学习PHP和我有一个问题。
如何从数组中获取元素并确定它是否等于静态值?我有一个来自查询语句的返回集(确认数组具有所有值)。
我试过了:
<? if($row["rowValue"] == 1) {
}
?>
我期望值为 1,但它返回 null(好像我做错了)。
你差不多就在那里;像这样的事情应该为你确认:
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>";
}
如果仍然返回"否",您可以尝试通过对数组进行 var 转储来查看整个 $row
数组,如下所示:
var_dump($row);
这将为您提供有关如何构建数组的详细输出,并且您应该能够查看是否在数组中调用了正确的元素。
什么是返回null
?
试试这个:
if($row["rowValue"] === 1) { ... }
确保$row
中有一个名为 rowValue
的元素。
也许可以尝试:
<? if($row[0]["theNameOfAColumn"] == 1) {
}
?>
通常数据库返回行[0]、行[1]、行[2]等行。
我不确定你到底在做什么,但请尝试使用 array_filp() 它将 交换所有键及其关联值比你能做的
if($row["rowValue"] == 1) {
http://in1.php.net/manual/en/function.array-flip.php
如果你从mysqli_fetch_row中提取它,那么它需要一个数字,而不是列名。 如果它从mysqli_fetch_array中提取,那么它将接受列名。
http://php.net/manual/en/mysqli-result.fetch-row.php
http://php.net/manual/en/mysqli-result.fetch-array.php