簡體   English   中英

帶有多維數組的數組中的 PHP 數組

[英]PHP Array in Array with Multidimensional Arrays

我有兩個數組,想檢查第二個數組是否在第一個數組中。 數組:

第一個數組:

array(1) {
  ["group"]=>
  array(3) {
    ["create"]=>
    bool(true)
    ["edit"]=>
    bool(true)
    ["delete"]=>
    bool(true)
  }
}

第二個數組

array(1) {
  ["group"]=>
  array(1) {
    ["create"]=>
    bool(true)
  }
}

深度可以不同

in_array不起作用 -> 數組到轉換錯誤,它不介意我嘗試搜索並測試了很多但沒有找到我需要的關聯分配。 我希望你們中的某個人可以幫助我!

$cnt = 0;
    foreach ($second_array as $key => $value) {
            foreach ($first_array as $key_1 => $value_1) {
                if($key == $key_1){
                    $cnt++;
                }
            }
    }

    if($cnt > 0){
        echo "second array element in first array";
    }else{
        echo "not in array";
    }

通過@Jignesh Prajapati 的方法,我終於找到了解決方案。 謝謝!

function test( $first_array, $second_array ) {
    $found = FALSE;

    if( is_bool( $second_array ) && is_bool( $first_array ) ) {
        return $second_array === $first_array;
    }

    if( is_array( $first_array ) && is_array( $second_array ) ) {
        foreach( $second_array as $key => $value ) {
            foreach( $first_array as $key_1 => $value_1 ) {
                if( $key === $key_1 ) {
                    $found = test( $value_1, $value );
                }
            }
        }
    }

    return $found;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM