Blaubart: strpos und 'OR' wie geht das nur?

Beitrag lesen

Tach.

ich will im string 'abcdef' die Position des ersten 'c' ODER 'b'
also je nach dem welches zeichen zuerst kommt.

Wie würdest Du das von Hand (ohne Computer) machen? Vielleicht so: Die Zeichenketten vom Anfang aus schrittweise durchgehen und jeweils überprüfen, ob das aktuelle Zeichen mit einem der gesuchten übereinstimmt. Falls ja, notierst Du die aktuelle Position in der Zeichenkette, und die Suche ist beendet.

In PHP könnte das in etwa so aussehen:

  
function strPosMulti ($haystack, $needles) {  
    for ($i = 0; $i < strlen($haystack); $i++) {  
        foreach ($needles as $n) {  
            if ($n == $haystack[$i]) {  
                return $i;  
            }  
        }  
    }  
    return FALSE;  
}  
  
  
$haystack = "lisdhfbfli8zsdtrkubdfg";  
$needles  = array("3", "c", "f");  
  
$pos = strPosMulti($haystack, $needles);  
if ($pos !== FALSE) {  
    echo "gefunden an Position ", $pos;  
} else {  
    echo "nicht gefunden";  
}  

--
Once is a mistake, twice is jazz.