PHP:获取与另一个字符串数组的子字符串匹配的字符串数组的数组值

Ben*_*Ben 2 php arrays string

有两个数组:

$strings = array('Apple', 'Banana', 'Orange');
$substrings = array('pp', 'range');
Run Code Online (Sandbox Code Playgroud)

我想得到一个包含所有字符串的数组,匹配子字符串:

Array
(
    [0] => Apple
    [2] => Orange
)
Run Code Online (Sandbox Code Playgroud)

或者使用新索引:

Array
(
    [0] => Apple
    [1] => Orange
)
Run Code Online (Sandbox Code Playgroud)

kni*_*ttl 5

想到一个简单的解决方案:结合array_filterstrpos

$strings = array('Apple', 'Banana', 'Orange');
$substrings = array('pp', 'range');

$result = array_filter($strings, function($item) use($substrings) {
  foreach($substrings as $substring)
    if(strpos($item, $substring) !== FALSE) return TRUE;
  return FALSE;
});
Run Code Online (Sandbox Code Playgroud)

要重置索引,您可以使用该array_values函数。