我目前循环遍历数组并将值收集到另一个数组中。
foreach($percentage_array[$scenario_first] as $type => $value) {
$first = substr($type,0,$first_letters_count);
if(strlen($type)==$sc_type) {
if($first==$scenario) {
$percentages[] = $value;
$scenario_array[$type] = $value;
}
}
}
我希望获得以x
开头的所有密钥,而不是循环遍历数组。 xaa,xab,xac
所以我做$percentage_array[$scenario_first][beginning_with_x]
我该怎么做?
答案 0 :(得分:4)
编辑:这更容易:
$filtered_array = array_filter($array, function($key){
return $key{0} == 'x';
}, ARRAY_FILTER_USE_KEY);
给予:
array(3) {
["xa"]=>
int(1)
["xb"]=>
int(2)
["xd"]=>
int(4)
}
原始答案:
我不太确定我是否理解示例代码,但是如果要根据数字是否以字母开头删除数组中的所有键/值对,您可以:
$array = [
'xa' => 1,
'xb' => 2,
'yc' => 3,
'xd' => 4,
];
$filtered_keys = array_filter(array_keys($array), function($k){
return !($k{0} == 'x');
});
foreach ($filtered_keys as $v) {
unset($array[$v]);
}
答案 1 :(得分:0)
没有尝试完全理解你的问题,但也许这就是你正在寻找的东西,试一试&根据您的需要进行修改
Array
(
[0] => xaa
[1] => xab
[2] => xac
)
以下是输出
{{1}}