如果数组为空,我不想在PHP

时间:2017-09-21 13:17:38

标签: php arrays

我有这样的代码

   <?php 

   global $DB; 
   $useridQry=''; 
  $login_id = $_SESSION['USER']->id; 

   if( $_SESSION['idnumber'] == 3 ) 
   { 

    } 
 elseif( $_SESSION['idnumber'] == 2 ) 
 { 
    $records=$DB->get_records_sql("select * from {user} where 
    maildigest=$login_id"); 
   print_r($records);
 if(empty($records) && count($records){
 { 
   $userIds=''; 
   foreach($records as $row) 
 { 
  $userIds="'".$row->id."'"; 
 } 
 //$useridQry = " and st.userid IN ($userIds)"; 
 } 
 } 
  else 
  { 
   $useridQry = " and st.userid = $login_id"; 
  }  

所以发生的事情是,它是否会在表格中显示任何记录

print_r($records);

当我使用print时,

但如果没有数据显示空数组,如Array ( )

所以当它显示空数组时它也会在我的表中显示数据..如果它是空数组,我不想显示数据..

任何人都可以帮助我如何做到这一点,

提前感谢..

3 个答案:

答案 0 :(得分:3)

请看这个代码段:https://3v4l.org/CjTuv

   $x = [];
    print_r($x);
    if (count($x)) {
        echo 'yes';
    }

print_r()将始终显示输出。它通常只是用于调试。如果您不想显示Array(),请删除print_r或将其移到if语句中。

答案 1 :(得分:-1)

试试这个:

if(!empty($records) && count($records) > 0){ ...

而不是:

if(count($records)){

答案 2 :(得分:-1)

如果数组为空,检查怎么样?

if (empty($playerlist)) {
     // list is empty.
}