<?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