当php数组不是时,它被视为null

时间:2014-08-28 20:21:28

标签: php arrays

我已将一个名为$items的数组传递给我的视图以便打印它。看看:

<?php echo "<br>First print: " . $items;    

if ($items != null): 
    echo "<br>Second print: " . $items; 
php endif;?>

最终输出是:

  

首先打印:数组

如您所见,$items不为空,但是,永远不会打印第二条消息。我的服务器有问题吗?

修改

我可以使用空函数评估$items,但我需要使用null comparator对其进行评估,因为此变量可以为null。

编辑2:

传递给视图时,$items可以采用以下值:

  • null:$items = null;
  • 数组:$items = array();$items = array('a', 'b');

2 个答案:

答案 0 :(得分:4)

如果PHP数组中没有值,即count($array)0,则与null相比时会给出true

确保您的阵列中至少有一个值。

答案 1 :(得分:1)

如果你想与null比较,最好使用!==代替!=

这样你告诉PHP使用严格的比较,双方应该是相同的(类型和值)

如果数组为空(例如)

,则可能会得到错误的结果

更多for php comparisions here