2014-11-14 50 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

相關問題