PHP - get all keys from a array that start with a certain string

后端 未结 9 1351
日久生厌
日久生厌 2020-11-30 00:09

I have an array that looks like this:

array(
  \'abc\' => 0,
  \'foo-bcd\' => 1,
  \'foo-def\' => 1,
  \'foo-xyz\' => 0,
  // ...
)
9条回答
  •  南笙
    南笙 (楼主)
    2020-11-30 00:46

    Simply I used array_filter function to achieve the solution as like follows

     0,
        'foo-bcd' => 1,
        'foo-def' => 1,
        'foo-xyz' => 0,
    );
    
    $filtered = array_filter($input, function ($key) {
        return strpos($key, 'foo-') === 0;
    }, ARRAY_FILTER_USE_KEY);
    
    print_r($filtered);
    

    Output

    Array
    (
        [foo-bcd] => 1
        [foo-def] => 1
        [foo-xyz] => 0
    )
    

    For live check https://3v4l.org/lJCse

提交回复
热议问题