搜索数组中键的一部分 - PHP

Kar*_*ger 5 php arrays search

是否可以搜索数组键?

假设我有以下数组:

$array = array('array_one' => 'a', 'array_two' => 'b', 'three' => 'c');
Run Code Online (Sandbox Code Playgroud)

我只想得到这个数组:

$array = array('array_one' => 'a', 'array_two' => 'b');
Run Code Online (Sandbox Code Playgroud)

所以我想获取每个键及其值包含key中的字符串 'array_' 。

谢谢!

Ja͢*_*͢ck 6

您可以使用负过滤器(带有strpos)来代替:

foreach ($array as $key => $value) {
    if (strpos($key, 'array_') !== 0) {
        unset($array[$key]);
    }
}
Run Code Online (Sandbox Code Playgroud)

演示

请注意,它就地修改了数组。

更新

或者,从 5.6 开始,您现在可以使用array_filter

$array = array_filter($array, function($value, $key) {
    return strpos($key, 'array_') === 0;
}, ARRAY_FILTER_USE_BOTH);
Run Code Online (Sandbox Code Playgroud)