• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Eine Variable mit mehreren Werten vergleichen??

aichingm

Mitglied
hi,

ich bin auf der Suche nach nach einer Funktion die eine Variable mit mehreren Werten vergleicht.

Naheliegenste Lösung(leider uncool):
PHP:
if($var == "a" || $var == "b" || $var == "c"){ich_bin_der_Macher();}

Meine Suche könnte zB. so etwas liefern:
PHP:
if($var == "a", "b", "c"){ich_bin_der_Macher();}

Mögliche/s Alternative/Workaround:
PHP:
if(in_array($var, array("a", "b", "c"))){ich_bin_der_Macher();}

bin für alles offen dürfen auch ausgefallene Lösungen sein :D

MfG Mario
 
Werbung:
Werbung:
equals-Funktion, die ich mal geschrieben habe:

PHP:
function equals($var, $compare) {
    $args = func_get_args();
    unset($compare, $args[0]);
    foreach ($args as $compare) {
        if ($compare == $var) {
            return true;
        }
    }
    return false;
}
// Anwendungsbeispiel

if (equals($var, 'a', 'b', 'c')) {
    ich_bin_der_Macher();
}
 
so ich hab meinen Sieger gefunden!

hab mich für Asterixus Variante entschieden und sie noch ein bisschen überarbeitet(keine schleife zu viel & compiled ist schneller).

PHP:
function contains($var){
	$array = func_get_args();
	unset($array[0]);
	return in_array($var, $array);	
}

if(contains($a,1,2,3)){
	ich_bin_der_macher();
}

vielen Dank für eure Hilfe MfG mario


PS: ich hoffe das hilft vielleicht irgendjemanden in ferner Zukunft weiter :)
 
Werbung:
PHP:
if(contains($a,1,2,3)){ 
    ich_bin_der_macher(); 
}
find ich nicht wirklich soooo viel kuerzer als

PHP:
if(in_array($a,array(1,2,3))) {
   // mach was... 
}
Darum hab ich mich gewundert ^^

Aber ist wohl Geschmackssache ;)
 
Zurück
Oben