phpbar.de logo

Mailinglisten-Archive

[php] übersetzungsfunktion -> array durchforsten

[php] übersetzungsfunktion -> array durchforsten

Marcus Mueller marcus.mueller at grintsch.com
Mit Aug 31 15:17:42 CEST 2005


Hallo.

Michael Borchers schrieb:
> ich übergebe ein $keyword in eine funktion und überprüfe ob es in einem
> array vorhanden ist, wenn ja, dann soll die übersetzung ausgespuckt werden.
> 
> gibt es keine einfachen array() funktionen, die so etwas überprüfen können?
> 
> $locales_de_array = array(
> 	"manufacturers_name" => "Hersteller",
> 	"shops_name" => "Shop",
> 	"waregroups_name" => "Warengruppe"
> );
> 
> function translate($keyword, $locale = "de")
> {
> 	global $locales_de_array;
> 
> 	$keyword = strtolower($keyword);
> 	
> 	foreach($locales_de_array as $locales_de)
> 	{	
> 		if(key($locales_de_array) == $keyword)
> 		{
> 			$keyword_translate = current($locales_de_array);
> 		}
> 		else
> 		{
> 			$keyword_translate = ucfirst($keyword);
> 		} // swtich
> 	} // foreach
> 
> 	return $keyword_translate;
> }

Wenn ich Dich recht verstanden habe, geht es Dir um die Ueberpruefung, 
ob Dein Keyword in dem vorher definierten Array vorhanden ist.
IMHO bieten sich da in_array() und array_keys() (evtl. sogar nur letzere 
Funktion ueber den optionalen Suchwert) an.
In etwa wie folgt:

if ( in_array($keyword, array_keys($locales_de_array)) ) {
	$keyword_translate = $locales_de_array[$keyword];
} else {
[...]
}

http://www.php.net/manual/en/function.in-array.php
http://www.php.net/manual/en/function.array-keys.php

Gruss
Marcus

php::bar PHP Wiki   -   Listenarchive