如何检查多维数组中的数组键?

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";
            }

        }

有人可以帮忙吗?

这与IT技术无关。
4个回答

1
尝试像这样...
foreach ($com_array as $key=>$value) {
        if(array_key_exists("user_id",$value)){
                echo "id 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;
}

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";
    }
}

谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接