gpt4 book ai didi

PHP 在数组中使用 count()

转载 作者:行者123 更新时间:2023-12-02 06:44:12 24 4
gpt4 key购买 nike

我试图使用 count() 函数获取数组中元素的数量,结果令我有些困惑,请考虑以下示例。

假设提供的用户ID有误,没有匹配到,那么count函数的结果不就为0了吗?但它是 1. 你能给我解释一下为什么吗?

谢谢

$q = mysql_query("select password from users where user_name = '" .  $userID   .   "'");
$check = mysql_fetch_array($q);

$result = count($check);

echo "RESULT:" . $result;

最佳答案

这是计算结果集中行数的错误方法。首先,来自 mysql_fetch_array() 上的文档

Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows.

因此,如果我们这样做

echo count( false );

我们可以看到输出是1。为什么?因为count()文档也告诉我们这一点

If var is not an array or an object with implemented Countable interface, 1 will be returned.

要进行正确计数,请使用 mysql_num_rows()

$q = mysql_query("select password from users where user_name = '" .  $userID   .   "'");
$result = mysql_num_rows( $q );

if ( 0 == $result )
{
// no rows in result
}

关于PHP 在数组中使用 count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2915557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com