学习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'? –