Encuentra el carácter antes o después de la cadena usando preg_grep () en PHP

Necesito encontrar cualquier caracter antes o despues de una palabra usando PHP preg_grep() desde array. Tengo una matriz como la siguiente

$findgroup = array("aphp", "phpb", "dephpfs", "potatoes");

Necesito encontrar los valores de la matriz que tienen la palabra ‘php’ con un carácter simple o doble antes o después (en ambos lados, no en ambos lados) de la palabra ‘php’. El resultado debería ser ‘aphp’, ‘phpb’ palabra de la matriz.

Intenté con el siguiente código pero no funciona.

$result[] = preg_grep("/(.{1})php(.{1})/", $findgroup);

Fije su expresión regular y agregue el cuantificador del carácter antes y después:

 $findgroup = array("aphp", "phpb", "dephpfs", "potatoes", "aphpb", "php"); $result = preg_grep("/^(?:.{1,2}php|php.{1,2})$/", $findgroup); print_r($result); 

Salida:

 Array ( [0] => aphp [1] => phpb )