3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array( 'green' => 'keyword', 'orange', 'keyword', 'black' => array( 'purple' => 'text', 'brown', 'pink' => 'keyword' ), 'white' => array( 'red', 'yellow' => 'keyword', 'blue' ), 'violet', 'gray' ); $arr = array(); $str = 'keyword'; $arr[] = array_filter($array, function($var) use ($str) { global $arr; if(is_array($var)){ $arr[] = array_filter($var, function($var2) use ($str) { return preg_match("/$str/i", $var2); }); }else{ return preg_match("/$str/i", $var); } }); function getL2Keys($array){ $result = array(); foreach($array as $sub) { $result = array_merge($result, $sub); } return $result; } $arr = getL2Keys($arr); echo '<pre>'; print_r($arr);

preferences:
22.87 ms | 402 KiB | 5 Q