Benutzer-Werkzeuge

Webseiten-Werkzeuge


snippets:str_in_array

Inhaltsverzeichnis

str_in_array

String in Array - Ersatz für die Stringsuche mit dem schwer defektiven in_array(). Am besten geeignet für kleine bis mittlere Arrays. Zzgl. Wrapper-Funktion für case-INsensitive Stringsuche (stri_in_array()).

str_in_array

/**
 * A partial replacement for the worthless piece of shit called in_array()
 */
 
if( !function_exists('str_in_array') ) {
	function str_in_array( $string, $array, $ignore_case = false ) {
		$return = false;
 
		if( !is_string( $string ) ) { // try to convert given value to string
			switch( gettype($string) ) {
				case 'integer':
				case 'double':
				case 'float':
					$string = (string) "$string";
					break;
				case 'boolean':
					$string = (string) ($string === false ? '1' : '0');
					break;
			}
 
		}
 
 
 
		if( is_string( $string) != false && is_array($array) != false && !empty($array) && !empty($string) ) {
			$needle = $string;
			$haystack = implode(' ', $array);
 
			$result = ( $ignore_case != false ? stripos( $haystack, $needle) : strpos( $haystack, $needle ) );
 
			if($result !== false) {
				$return = true;
			}
 
		}
 
 
		return $return;
	}
}
 
/**
 * Simple ignore case wrapper for str_in_array()
 * @see str_in_array
 */
 
if( !function_exists('stri_in_array') && function_exists('str_in_array') !== false ) {
	function stri_in_array( $string, $array ) {
		return str_in_array( $string, $array, true );
	}
}
snippets/str_in_array.txt · Zuletzt geändert: 05.12.2012 17:51 von fwolf