PHP 数组元素比较



学习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

最新更新