2011-09-28 20 views
0

如何檢查從另一個文件傳遞給函數的數組(有三個值)是否具有全部三個值? 例如,如果有人放入$ ids = Api_Books_Book :: getTest(array(1,2,)),我想獲得一個錯誤; (第三個鍵/索引沒有值)。檢查數組是否有例如三個值

這是我到目前爲止的代碼

public static function getTest($ids){ 
     $input_result = array(
        ); 

     foreach ($ids as $id) { 
     $input_result['result']['Id '.$id] = $id; 
     } 

      if((array_key_exists('0',$ids))){ 

      echo "You have inputted some data in the Api_Books_Book::getTest<br/>"; 
      $input_success = "Successful!"; 
     } 
     else 
     { 
      echo "There is no data<br/>"; 
      $input_success = "Not Successful"; 
     } 

     $result=array('status'=>$input_success, 
         'message'=>"some errors will be displayed here", 
         'result'=> $input_result 
        ); 



     rdie($result); 



       return $result; 
} 
+0

怎麼樣''如果(計數($ IDS)= 3!)? –

+0

當一個數組超過3時,該怎麼辦?例如...有人輸入了5個值? –

+0

怎麼樣?你想要什麼行爲? –

回答

0

如果您有簡單的數字索引數組,這是有道理的唯一事情是count

if (count($array) != 3) // not valid 

或:

if (count($array) < 3) // not valid 

您可以使用$array = array_values($array)來重置數字鍵以確保值在索引[0],[1][2]而不是任何其他索引。

如果你有鑰匙=> value對,你希望某些鍵設置,使用array_diff_key

$expectedKeys = array('foo', 'bar', 'baz'); 
if (array_diff_key(array_flip($expectedKeys), $array)) // not valid 
+0

謝謝你幫助一個noob 。我們取決於你的高技能程序員的類型。 :-D –

相關問題