PHP数组元素比较

时间:2012-12-14 16:17:20

标签: php

学习PHP,我有一个问题。

如何从数组中获取元素并确定它是否等于静态值?我有一个查询语句的返回集(确认数组有所有值)。

我试过了:

<?  if($row["rowValue"] == 1) { 
    }
?>

我期待值为1,但它返回null(好像我做错了)。

5 个答案:

答案 0 :(得分:0)

返回null的内容是什么?

试试这个:

if($row["rowValue"] === 1) { ... }

确保$row中有一个名为rowValue的元素。

答案 1 :(得分:0)

也许试试:

<?  if($row[0]["theNameOfAColumn"] == 1) { 
    }
?>

通常,数据库返回行[0],行[1],行[2]等行

答案 2 :(得分:0)

你几乎就在那里;这样的事情应该为你确认:

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);

这将为您提供有关如何构建数组的详细输出,您应该能够看到是否在数组中调用了正确的元素。

答案 3 :(得分:0)

我不确定你到底在做什么,但尝试使用array_filp(),它将使用相关值交换所有键 比你能做的更好

if($row["rowValue"] == 1) { 

http://in1.php.net/manual/en/function.array-flip.php

答案 4 :(得分:0)

如果你从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