检查数组是否为空

3
以下代码展示了从MySQL查询中得到的记录数组$rows。我还添加了一个if语句来检查$rows是否为空,但它没有起作用。
$rows = array();

$result1 = mysql_query("SELECT * FROM TestPhase where Pid<10", $db) or die("cannot select");
while($row = mysql_fetch_array($result1)) {
  $rows []= array(
    'id' => $row['id'],
    'parent' => $row['parent'],
    'name' => $row['name'],
  );

}


if($rows == ""){
    echo "No Data";

    }

这个 if 语句没有生效。我该如何检查数组是否为空,并输出"无数据"。

在 JavaScript 中,我该如何检查数组是否为空?我将 $rows 数组放在了一个名为 treeData 的变量中。

if (treeData) is empty{
$("button").hide();
     }

如何检查treeData是否为空以隐藏按钮。

你是如何将 PHP 中的数据传递到 JavaScript 的?使用 JSON 还是直接从 PHP 传递? - Awemo
5个回答

28

PHP
直接使用empty()函数即可。

if(empty($rows)){
    echo 'No Data';
}

或者你也可以使用count()函数。

if(count($rows) < 1){ // or if(count($rows) === 0)
    echo 'No Data';
}

JavaScript
你可以使用 length 属性。

if(treeData.length == 0){
    $("button").hide();
}

谢谢,这很好用。但请看一下更新后的问题。我如何在JavaScript中实现这个? - user1684586

3

使用 count 来检查

if(!count($rows)){
    echo "No Data";
}

使用JavaScript,这是一个例子。
var arr = new Array('one', 'two', 'three'); //assume you have list of values in array
if(!arr.length){ //if no array value exist, show alert()
   alert('No Data');
}

1

你不能像对待字符串一样处理数组(例如$rows == "")。应该使用count()empty()代替:

if(count($rows) == 0)
{
    echo "No Data";
}

0
使用empty
if( empty( $rows) ) { ... }

0
if ( count( $rows ) == 0 ) {...}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接