判断一个PHP数组为空时应该用empty还是count==0?

研究了一下,不管是用empty还是用count,运行效率方面没什么差别。如果数组为空,count返回0;但如果数组未定义,会收到php notice。所以要在count前面加isset判断。empty()不会有这个问题。

另外,空数组在PHP中相当于false,所以其实两个方程都不需要用,直接用数组本身做判断也可以。

<?php

    $arr=array();
    
    echo "The array is ", $arr ? 'full' : 'empty', ".\n";
//Output: The array is empty.


    $label = array(0 => 'empty', 1 => 'full');

    echo "The array is ", $label[(bool)$arr], ".\n";
//Output: The array is empty.

发表评论

电子邮件地址不会被公开。 必填项已用*标注