2011-04-26 23 views

回答

5

這似乎就好了工作:

function checkArray($a) 
{ 
    return (bool)!count(array_diff($a, array(1,2))); 
} 

,如果只是1秒和2S或假,如果不是

+0

這ANS它會返回true看起來很酷,但根據http://stackoverflow.com/questions/2473989/list-of-big-o-for-php-functions,array_diff的複雜度爲O(2 * n)。 – linepogl 2011-04-26 12:45:50

+0

一個有效的評論,但我懷疑,除非數組很大,否則這對於運行MySQL查詢等的比較時間來說顯得微不足道,該頁面可能也會這樣做 – 2011-04-26 12:50:21

0
function return_1_or_2($array){ 
    foreach($array as $a){ 
    $c = $a-1; 
    if($c>1){ 
    $flag = true; 
break; 
    } 
    } 
    if($flag){ 
    return false; 
    }else{ 
    return true; 
    } 
    } 

請這給一個嘗試...你可以進一步優化這個....但是這只是一個例子...

0
function array_contains_ones_and_twos_only(&$array){ 
    foreach ($array as $x) 
    if ($x !== 1 && $x !== 2) 
     return false; 
    return true; 
} 
0
function checkarray($array) { 
    foreach($array as $a) { 
    if ($a != 1 && $a != 2) 
     return false; 
    } 
    return true; 
} 
相關問題