php - PHP - 如何从嵌套数组中的值中获取“上”键?
问题描述
$arrayTypesAndSubtypes = Account::getTypesAndSubtypes();
$subtype = $request->input('subtype');
这是一个dd的$arrayTypesAndSubtypes我想从中获取给定值的“上(?)键” 。
array:2 [▼
"REVENUE" => array:1 [▼
0 => "REVENUE"
]
"ASSET" => array:1 [▼
0 => "BANK_ACCOUNT"
]
]
在这里,以下返回 false (因为Array_search()将为REVENUE或BANK_ACCOUNT返回0;但是,我正在寻找的是返回REVENUE或ASSET(我称之为“上键” -是否有更合适的术语?)。
任何帮助,将不胜感激!
解决方案
假设它们在0
键中,只需提取该列,结合当前键并搜索:
$key = array_search('BANK_ACCOUNT', array_combine(array_keys($array),
array_column($array, 0)));
var_dump(key); //should return ASSET
或者,如果每个键下有多个,则循环:
$key = false;
foreach($array as $key => $values) {
if(array_search('BANK_ACCOUNT', $values)) { // or in_array('BANK_ACCOUNT', $values)
break;
}
}
var_dump($key); //should return ASSET