특정 값이 다차원 배열의 하위 수준에 포함 된 경우 최상위 배열의 키를 반환합니다.

린츠 달링턴

하위 수준 중 하나의 값을 기반으로 다차원 배열의 첫 번째 수준 키를 반환하고 싶습니다.

예를 들어 '관리자 이메일'로 '@ google.com'을 제공하면 'Google'을 반환하고 싶습니다.

내 배열은 아래에 있습니다.

$array = array (
    'Google' => array (
            'Allowed Emails' => array ('@google.com','@gmail.com' ),
            'Admin Emails' => '[email protected], [email protected]', // This really is supposed to be a String, not an array
            'Company Name'  => 'Alphabet',
            'Memberships' => array ('websites', 'google' ),
),
    'Facebook' => array (
            'Allowed Emails' => array ('@facebook.com','@facebook.co.uk' ),
            'Admin Emails' => '[email protected], [email protected]', 
            'Company Name'  => 'Facebook Limited',
            'Memberships' => array ('websites', 'facebook' ),
),
    'Apple' => array (
            'Allowed Emails' => array ('@apple.com','@icloud.com' ),
            'Admin Emails' => '[email protected]', 
            'Company Name'  => 'Apple Inc',
            'Memberships' => array ('computers', 'apple' ),
),
        'Dell2' => array (
            'Allowed Emails' => array ('@dell.com' ),
            'Admin Emails' => '[email protected]',
            'Company Name'  => 'Dell Computers',
            'Memberships' => array ('computers', 'dell' ),
)
);

array_filter를 사용하여 먼 길을 얻었지만 아래는 내가 설정 한 변수 (이 경우 'google.com')가 배열의 첫 번째 변수 인 경우에만 작동합니다.

어떤 생각이라도 대단히 감사합니다.

function setitem ($item){ return $item['Allowed Emails'][0] === '@google.com' ;}

$filteredarray = array_filter($array, setitem);


$toplevelarray = array_keys($filteredarray);

echo $toplevelarray[0];

또한 변수를 전달하는 데 도움이 필요합니다 (이 경우 '@ google.com'은 하드 코딩되지 않으므로 'setitem'함수에 넣습니다. 어떤 이유로 든 정상으로 시도하면 오류가 발생합니다. 방법.

미리 감사드립니다.

카시미르와 히 폴리 테

특별히 할 일은 없습니다.

$result = []; 
foreach ($array as $k => $v) {
    if ( in_array('@google.com', $v['Allowed Emails']) )
        $result[] = $k; 
}

print_r($result);

키가 고유하다는 것을 이미 알고 있다면 for 배열 대신 문자열을 $result사용 break하고 루프를 중지하는 데 사용 하십시오.

array_filter또는로 똑같이 할 수 array_reduce있지만 속도가 느립니다.

변수를 함수에 전달하려면 한 번 더 마술은 없습니다. 매개 변수를 추가하세요.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정수 arr의 배열이 주어지면 배열의 각 값이 고유 한 경우에만 true를 반환하는 함수를 작성합니다.

분류에서Dev

Python 함수 wihich는 값 목록을 가져 와서 최상위 수준에서 목록에 포함 된 문자열 수를 반환합니다.

분류에서Dev

다차원 배열의 최상위 수준에서 이스케이프

분류에서Dev

값 형식이 다른 다른 배열의 값이 포함 된 경우 배열에서 행 반환

분류에서Dev

확정 하위 문자열이 포함 된 경우에만 문자열의 일부를 가져옵니다.

분류에서Dev

두 열에 특정 텍스트가 포함 된 경우 별도의 열에 true를 반환합니다.

분류에서Dev

다른 배열에 값이 포함 된 객체를 포함하는 배열의 객체 배열

분류에서Dev

특정 열의 범위에있는 숫자를 포함하는 행을 반환하지만 열에 특정 숫자가 포함 된 경우에만

분류에서Dev

기존 열의 값에 특정 하위 문자열이 포함 된 경우 새 pd.DataFrame 열 생성

분류에서Dev

다차원 배열에 모든 "수준"에서 특정 키와 값 쌍이 포함되어 있는지 확인하는 방법은 무엇입니까?

분류에서Dev

배열에 주어진 범위의 값이 포함 된 경우 행 필터링

분류에서Dev

한 배열에 BigQuery를 사용하여 다른 배열의 모든 값이 포함 된 경우 행을 필터링하려면 어떻게해야하나요?

분류에서Dev

행이 중복 된 경우에만 특정 열에 NA를 포함하는 행 제거 (다른 두 열 기준)

분류에서Dev

문자열 값이 정의 된 경우 다차원 배열에서 데이터 가져 오기

분류에서Dev

PHP는 특정 키의 값이 동일한 두 배열의 하위 배열을 결합합니다.

분류에서Dev

배열을 반복하고이 배열에 포함 된 각 div의 선택된 옵션 값을 찾고 배경색을 할당합니다.

분류에서Dev

PHP에서 배열에 float (0)이 포함 된 경우 배열의 문자열을 확인하는 것은 항상 else 문에 들어갑니다.

분류에서Dev

CodingBat-Excercise : 주어진 배열이 배열의 처음 2 개 또는 마지막 2 개 위치에 불운 한 1을 포함하는 경우 true를 반환합니다.

분류에서Dev

잘못된 최대 합계 하위 배열 (kadane의 알고리즘)을 반환하지만 최대 합계를 수정합니다.

분류에서Dev

값에 특정 하위 문자열이 포함 된 경우 열 값에서 단어를 제거하는 방법은 무엇입니까?

분류에서Dev

다차원 배열의 특정 키에 대한 PHP 일치 값

분류에서Dev

특정 열의 범위에있는 숫자를 포함하는 행을 반환합니다.

분류에서Dev

다차원 배열의 값 (상위 5 개)을 기준으로 정렬

분류에서Dev

PHP-한 배열에 허용 된 하나 이상의 값이 다른 배열에있는 경우

분류에서Dev

배열 값의 특정 번호가 포함 된 경우 확인하는 방법?

분류에서Dev

PHP 키를 비교하고 간단한 배열의 해당 키 값과 다차원 배열의 특정 값 변경

분류에서Dev

swiftUI : 배열 안에 포함 된 두 뷰의 교차를 감지하고 위치를 바꿉니다.

분류에서Dev

awk-특정 열에 다른 텍스트 파일의 요소가 하위 문자열로 포함 된 경우 행을 제거합니다.

분류에서Dev

개체 배열이 있습니다. 각 개체에는 최대 및 최소 키 값 쌍이 포함됩니다. 미리 정의 된 값이 포함 된 개체를 찾으려면 어떻게합니까?

Related 관련 기사

  1. 1

    정수 arr의 배열이 주어지면 배열의 각 값이 고유 한 경우에만 true를 반환하는 함수를 작성합니다.

  2. 2

    Python 함수 wihich는 값 목록을 가져 와서 최상위 수준에서 목록에 포함 된 문자열 수를 반환합니다.

  3. 3

    다차원 배열의 최상위 수준에서 이스케이프

  4. 4

    값 형식이 다른 다른 배열의 값이 포함 된 경우 배열에서 행 반환

  5. 5

    확정 하위 문자열이 포함 된 경우에만 문자열의 일부를 가져옵니다.

  6. 6

    두 열에 특정 텍스트가 포함 된 경우 별도의 열에 true를 반환합니다.

  7. 7

    다른 배열에 값이 포함 된 객체를 포함하는 배열의 객체 배열

  8. 8

    특정 열의 범위에있는 숫자를 포함하는 행을 반환하지만 열에 특정 숫자가 포함 된 경우에만

  9. 9

    기존 열의 값에 특정 하위 문자열이 포함 된 경우 새 pd.DataFrame 열 생성

  10. 10

    다차원 배열에 모든 "수준"에서 특정 키와 값 쌍이 포함되어 있는지 확인하는 방법은 무엇입니까?

  11. 11

    배열에 주어진 범위의 값이 포함 된 경우 행 필터링

  12. 12

    한 배열에 BigQuery를 사용하여 다른 배열의 모든 값이 포함 된 경우 행을 필터링하려면 어떻게해야하나요?

  13. 13

    행이 중복 된 경우에만 특정 열에 NA를 포함하는 행 제거 (다른 두 열 기준)

  14. 14

    문자열 값이 정의 된 경우 다차원 배열에서 데이터 가져 오기

  15. 15

    PHP는 특정 키의 값이 동일한 두 배열의 하위 배열을 결합합니다.

  16. 16

    배열을 반복하고이 배열에 포함 된 각 div의 선택된 옵션 값을 찾고 배경색을 할당합니다.

  17. 17

    PHP에서 배열에 float (0)이 포함 된 경우 배열의 문자열을 확인하는 것은 항상 else 문에 들어갑니다.

  18. 18

    CodingBat-Excercise : 주어진 배열이 배열의 처음 2 개 또는 마지막 2 개 위치에 불운 한 1을 포함하는 경우 true를 반환합니다.

  19. 19

    잘못된 최대 합계 하위 배열 (kadane의 알고리즘)을 반환하지만 최대 합계를 수정합니다.

  20. 20

    값에 특정 하위 문자열이 포함 된 경우 열 값에서 단어를 제거하는 방법은 무엇입니까?

  21. 21

    다차원 배열의 특정 키에 대한 PHP 일치 값

  22. 22

    특정 열의 범위에있는 숫자를 포함하는 행을 반환합니다.

  23. 23

    다차원 배열의 값 (상위 5 개)을 기준으로 정렬

  24. 24

    PHP-한 배열에 허용 된 하나 이상의 값이 다른 배열에있는 경우

  25. 25

    배열 값의 특정 번호가 포함 된 경우 확인하는 방법?

  26. 26

    PHP 키를 비교하고 간단한 배열의 해당 키 값과 다차원 배열의 특정 값 변경

  27. 27

    swiftUI : 배열 안에 포함 된 두 뷰의 교차를 감지하고 위치를 바꿉니다.

  28. 28

    awk-특정 열에 다른 텍스트 파일의 요소가 하위 문자열로 포함 된 경우 행을 제거합니다.

  29. 29

    개체 배열이 있습니다. 각 개체에는 최대 및 최소 키 값 쌍이 포함됩니다. 미리 정의 된 값이 포함 된 개체를 찾으려면 어떻게합니까?

뜨겁다태그

보관