将strlen()与数组而不是字符串一起使用

时间:2014-11-14 16:50:30

标签: php arrays compare strlen

我想使用strlen()来比较两个数组的长度。如果一个数组的长度大于另一个数组,那么就做点什么。

不幸的是,我注意到strlen()仅适用于字符串? 如何使其适用于数组?

我的代码:

    $array1 = array(
        'Hello World',
        'Hello World',
        'Hello World',
        'Hello World',
        'Hello World'
    );

    $array2 = array(
        'Hello World',
        'Hello World'
    );


if (strlen($array1) > strlen($array2)) {

    echo 'It works you fool!';

}

2 个答案:

答案 0 :(得分:3)

要获得数组长度,您应该使用count()

if (count($array1) > count($array2)) {
    echo 'It works you fool!';
}

答案 1 :(得分:1)

  

如何使其与数组一起使用?

strlen()的PHP手册:

  

strlen()在数组上执行时返回NULL,并发出E_WARNING级别错误。

你真的不可能。

你有什么理由想要"这样做?
有一个非常好的功能来实现你想要的 - count()

  

count - 计算数组中的所有元素,或对象中的某些元素

if (strlen($array1) > strlen($array2))
  {
    echo 'It works you fool!';
  }

请勿尝试使用PHP功能以满足您在不适合的场景中的需求 特别是当(几乎总是可能的)具有完全好的功能时,它已经适合您的需求。

未来的变化可能使你的" hack"不再有效,并且使用正确的功能意味着您可能会从PHP中获益,确保准确性,稳定性,速度等。

黑客经常会在将来引起头痛,即使不是现在。