public function array_search_recursive($needle, $haystack, $strict = false, $path = array()) { if (!is_array($haystack)) { return false; } foreach ($haystack as $key => $val) { if (is_array($val) && ($subPath = UthandoAdmin::array_search_recursive($needle, $val, $strict, $path))) { $path = array_merge($path, array($key), $subPath); return $path; } elseif (!$strict && $val == $needle || $strict && $val === $needle) { $path[] = $key; return $path; } } return false; }