permission
값이 no
인 하위 배열을 제거하여 다차원 배열을 필터링하려고합니다.단일 값을 기반으로 다차원 배열에서 배열 제거
내 배열 :
$array = array(
array(
'name' => 'dashboard',
'permission' => 'yes'
),
array(
'name' => 'Purchase Orders',
'permission' => 'yes',
'dropdown' => array(
array(
'name' => 'View Complete',
'permission' => 'yes'
),
array(
'name' => 'New PO',
'permission' => 'no'
)
)
),
array(
'name' => 'dashboard',
'permission' => 'no'
)
);
이 내 원하는 결과입니다 (permission=>'no'
가 완전히 제거 된 모든 그룹을 통지) 콜백 기능 array_filter()
를 사용
$array = array(
array(
'name' => 'dashboard',
'permission' => 'yes'
),
array(
'name' => 'Purchase Orders',
'permission' => 'yes',
'dropdown' => array(
array(
'name' => 'View Complete',
'permission' => 'yes'
)
)
)
);
는 매우 간단하게이 작업을 수행 첫 번째 레벨이지만 모든 레벨에서이를 수행하는 간단한 솔루션을 찾을 수는 없습니다.
지금 내 솔루션은 각 키를 루핑하고 설정을 해제하지만 배열의 정확한 구조를 알아야하고 상당히 혼란 스럽다고 느낍니다.
가 항상 최대 2 수준 깊은? – solarc
요소가 [is_array] (http://php.net/manual/en/function.is-array.php)가있는 배열인지 확인하고 권한 값을 확인하십시오. 그렇게하면 구조가 얼마나 깊은 지 알 필요가 없습니다. – Hameed