2014-11-14 26 views
-1

我想用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!'; 

} 
+1

使用计数功能。 'if(count($ array1)> count($ array2)){' – slapyo 2014-11-14 16:51:23

+1

我很惊讶,你不能为自己工作。 – Steve 2014-11-14 16:54:20

+0

或sizeof()如果你来自C世界:) – 2014-11-14 16:54:49

回答

1

我怎样才能使它使用数组?

strlen() PHP手册:当在阵列执行,并且被发射的E_WARNING级错误

的strlen()返回NULL。

你不可能真的。

有什么理由让你“想”这样做?
有一个非常好的功能,以达到你想要的东西 - count()

count - 计算数组中的所有元素,或者在一些物体

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

不要试图在不设计的场景下使用PHP函数以满足您的需求。
特别是当(几乎总是可能)完美的功能已经适合您的需求。

未来的变化可能使你的“黑客”不再工作,并且还使用了正确的功能意味着您将PHP保证精度,稳定性,速度,等等等等

黑客周围常常会引起头痛可能受益,甚至如果不是现在,将来。

3

为了得到你应该使用count()数组的长度。

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

右键......谢谢。将在几分钟内标记为正确.. – 2014-11-14 16:53:56

+0

或[sizeof()](http://ca3.php.net/manual/en/function.sizeof.php),这是完全相同的东西 – 2014-11-14 16:55:22

+0

@ sean9999所以有什么不同?在性能方面使用它们是否更好? – 2014-11-14 16:55:49

相关问题