2017-01-13 24 views
4

如何檢查數組鍵是否存在或不是數組中的數組?如何檢查多維數組中的數組鍵?

我需要檢查用戶ID存在於陣列中,我有以下發現陣列,

Array 
(

    [0] => Array 
    (
     [user_id] => 1482309797 
     [week] => 1 
     [type] => 1 
     [commission] => 4000 
    ) 

[1] => Array 
    (
     [user_id] => 1482309797 
     [week] => 1 
     [type] => 1 
     [commission] => 0 
    ) 

[2] => Array 
    (
     [user_id] => 1482309797 
     [week] => 1 
     [type] => 1 
     [commission] => 4000 
    ) 

[3] => Array 
    (
     [user_id] => 1482309797 
     [week] => 1 
     [type] => 1 
     [commission] => 0 
    ) 

[4] => Array 
    (
     [user_id] => 1483096072 
     [week] => 1 
     [type] => 1 
     [commission] => 4000 
    ) 

[5] => Array 
    (
     [user_id] => 1483333245 
     [week] => 1 
     [type] => 1 
     [commission] => 2000 
    ) 

我要檢查如果用戶ID存在與否,我曾嘗試下面的代碼

 foreach ($com_array as $report) { 

     $user_id=$report['user_id']; 

     if(array_key_exists($user_id,$output_array)){ 
       echo "Eid found"; 
     }else{ 
       echo "id not found"; 
      } 

     } 

任何一個請幫忙。

回答

1
foreach ($com_array as $report) { 
    if(isset($report['user_id'])){ 
     echo "Eid found"; 
    }else{ 
     echo "id not found"; 
    } 
    } 

嘗試上面的代碼,你會得到輸出。

0

對於多維數組沒有內置函數。你可以製作一個這樣的:

function findKey($array, $keySearch) 
{ 
    foreach ($array as $key => $item) { 
     if ($key == $keySearch) { 
      echo 'yes, it exists'; 
      return true; 
     } 
     else { 
      if (is_array($item) && findKey($item, $keySearch)) { 
       return true; 
      } 
     } 
    } 

    return false; 
} 
1

嘗試像這樣...

foreach ($com_array as $key=>$value) { 
     if(array_key_exists("user_id",$value)){ 
       echo "id found"; 
     }else{ 
       echo "id not found"; 
      } 

     } 
0

如果你只是要檢查你可以這樣做的一個關鍵的存在。

$user_id_arr = array_column($output_array, 'user_id'); // Get your user_id to a single dimension array 
foreach ($com_array as $report) { 
    if (in_array($report['user_id'], $user_id_arr)){ 
     echo "ID Found"; 
    } else { 
     echo "ID Not Found"; 
    } 
} 

謝謝!