Php 删除关联数组的所有元素(如果它们在键中具有特定的字)
如果键中的子字符串为“TB1”,我想删除关联数组的所有元素 我的数组看起来像:Php 删除关联数组的所有元素(如果它们在键中具有特定的字),php,arrays,associative-array,Php,Arrays,Associative Array,如果键中的子字符串为“TB1”,我想删除关联数组的所有元素 我的数组看起来像: $output= [ 'TB1_course' => 'required' 'TB1_session' => 'required' 'TB2_course' => 'required' ] $output =[ 'TB2_course' => 'required ] 我想删除TB1_课程和TB1_会话,以便我的最终数组如下所示: $o
$output= [
'TB1_course' => 'required'
'TB1_session' => 'required'
'TB2_course' => 'required'
]
$output =[
'TB2_course' => 'required
]
我想删除TB1_课程和TB1_会话,以便我的最终数组如下所示:
$output= [
'TB1_course' => 'required'
'TB1_session' => 'required'
'TB2_course' => 'required'
]
$output =[
'TB2_course' => 'required
]
有没有什么方法可以简单简洁地做到这一点
我最初的猜测是为每个循环使用一个:
foreach ($output as $key =>$value){
//remove
}
谢谢你的帮助 按键筛选数组:
$input = [
'TB1_course' => 'required',
'TB1_session' => 'required',
'TB2_course' => 'required',
];
$filter = function ($key) {
return substr($key, 0, 4) === 'TB2_';
};
$output = array_filter($input, $filter, ARRAY_FILTER_USE_KEY);
var_dump($output);
输出:
array(1) {
'TB2_course' =>
string(8) "required"
}
有关对筛选数组有用的
array\u filter
函数的文档,请参阅。您应该尝试自己编写代码。如果您有问题,请发布您尝试过的内容,并清楚解释哪些内容不起作用,然后提供。读一个好问题。请务必阅读。这可以取消设置($output['TB1_course']);未设置($output['TB1_session'])代码>它工作得很好,谢谢!