PHP检查空变量与否

时间:2016-07-04 08:20:46

标签: php mysql

我有一个SQL查询和一个数组,我在其中放置要排除的值。当我执行查询时,我想测试我的变量。

If not empty ==> Display values
If empty ==> Display one time 0 result.

我的SQL查询输出这些值:FGFR1e12,FGFR3e7,FGFR3e14

当我执行我的php脚本时,我设法显示值,但是当变量为空时,它不会进入循环。

有人知道我的剧本中我做错了什么吗?

这是我的剧本:

<?php
require_once ('config.php');
$VariantNContrib = "SELECT DISTINCT Reference FROM mytable";
$PerformVariantNContrib = mysqli_query($conn, $VariantNContrib) or die(mysqli_error($conn));
// Values to exclude are stored in an array
$arrayNoContrib = array(
    'FGFR1e12',
    'FGFR3e7',
    'FGFR3e14'
);
while ($rowVarNContrib = mysqli_fetch_assoc($PerformVariantNContrib)) {
    if (!in_array($rowVarNContrib["Reference"], $arrayNoContrib)) {
        $NContribList = '' . implode(',', $rowVarNContrib) . '; ';
        if (!empty($NContribList)) {
            echo '<br/>Variants:' . $NContribList . '<br/>';
        }
        else {
            echo "0 results";
        }
    }
}
?>

3 个答案:

答案 0 :(得分:1)

您的代码应该是: -

$arrayNoContrib=array('FGFR1e12', 'FGFR3e7', 'FGFR3e14');
while($rowVarNContrib =  mysqli_fetch_assoc($PerformVariantNContrib)) {
  if(!empty($rowVarNContrib) && !in_array($rowVarNContrib["Reference"],$arrayNoContrib)){  // check $rowVarNContrib array is not empty
    $NContribList=implode(',',$rowVarNContrib); // remove empty string      
    echo "Variants: $NContribList"."<br>"; // remove earlier <br>      
  }else{
      echo "0 results"."<br>"; // add <br>
  }   
}

答案 1 :(得分:0)

对于单个空格的字符串,

empty()函数不返回true。 $NContribList=''.implode(',',$rowVarNContrib).' ';

FALSE

在上面的代码中,您在字符串末尾有空格,这就是 empty()返回view.clipsToBounds = true 的原因。

从字符串中删除该空格或使用PHP trim()删除不必要的空格。

答案 2 :(得分:0)

嗨,我不知道为什么你使用implode如果我是对的。您有一个array,其中有一些值,fetching有些reference,如果一切都相同,那么您显示的是0结果,如果没有,那么您显示的是该反射数。然后请一次尝试这个。

<?php
require_once ('config.php');
    $VariantNContrib="SELECT DISTINCT Reference FROM mytable";
    $PerformVariantNContrib=mysqli_query($conn,$VariantNContrib) or die(mysqli_error($conn));
    //Values to exclude are stored in an array
   $arrayNoContrib = array(
    'FGFR1e12',
    'FGFR3e7',
    'FGFR3e14'
);
    $i = 0;
    while($rowVarNContrib =  mysqli_fetch_assoc($PerformVariantNContrib)) {
        if (!in_array($rowVarNContrib["Reference"], $arrayNoContrib)) {
            $NContribList = trim($rowVarNContrib["Reference"]);
            if (!empty($NContribList)) {
                echo '<br/>Variants:' . $NContribList . '<br/>';
                $i++;
        }}

    }
      echo $i." results";