PHP数组元素比较
学习PHP我有一个问题 如何从数组中获取元素并确定它是否等于静态值?我有一个来自查询语句的返回集(已确认数组具有所有值) 我试过:PHP数组元素比较,php,Php,学习PHP我有一个问题 如何从数组中获取元素并确定它是否等于静态值?我有一个来自查询语句的返回集(已确认数组具有所有值) 我试过: <? if($row["rowValue"] == 1) { } ?> 我期望值为1,但它返回null(好像我做错了)。什么返回null 试试这个: if($row["rowValue"] === 1) { ... } 确保$row中有一个名为rowValue的元素,可以尝试: <? if($row[0]["theNameOf
<? if($row["rowValue"] == 1) {
}
?>
我期望值为1,但它返回null(好像我做错了)。什么返回
null
试试这个:
if($row["rowValue"] === 1) { ... }
确保$row
中有一个名为rowValue
的元素,可以尝试:
<? if($row[0]["theNameOfAColumn"] == 1) {
}
?>
通常数据库返回的行包括行[0]、行[1]、行[2]等。基本上就是这样;类似这样的内容应该可以为您确认:
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>";
}
这将为您提供数组构建方式的详细输出,您应该能够看到是否在数组中调用了正确的元素。我不确定您到底在做什么,但请尝试使用array_filp(),它将所有键与其关联的值进行交换 比你喜欢的还要多
if($row["rowValue"] == 1) {
如果您从mysqli\u fetch\u行提取它,那么它需要的是一个数字,而不是列名。如果它是从mysqli_fetch_数组中提取的,那么它将接受一个列名
当您打印($row)时,您会收到什么?看到“$row”让我觉得您是在从结果集中提取它。。。你能告诉我从哪里得到结果集的代码吗?你在使用mysqli吗?只要“$row['rowValue']”有一个值,您就可以使用它。列名是
rowValue
?行上的转储是[“hasReport”]=>string(1)“0”。这是奇数,因为数据库中的d类型是一个整数。行上的转储是[“hasReport”]=>string(1)“0”。这很奇怪,因为数据库中的d类型是一个整数。如果从数据库中提取,数组将自动假定值是字符串,而不是整数。如果使用If($row[“rowValue”]==1)
比较,这并不重要(如果这样比较:If($row[“rowValue”]==1)
)正如您将看到的,如果您将我的代码更改为==0,那么在您的情况下,它将返回true。它在0时打印0,在1时什么也不打印。我不太明白为什么。因此,我将比较改为==0,当它为0时,它会工作。知道为什么吗?这是一个TINYINT,maxlength为4。看起来DB查询将其返回为0,请检查以确保查询返回的结果符合预期?
if($row["rowValue"] == 1) {