4 Stimmen

PHP Wie testet man, ob einer der Werte eines Arrays (teilweise) in einem String vorhanden ist?

Es muss einfach sein, aber ich finde die Antwort nicht.
Wie kann man prüfen, ob einer der Werte im Array in der Zeichenkette enthalten ist?
Die Ausgabe sollte true oder false sein.

$array = Array( 
   0 => 'word1',
   1 => 'word2',
   2 => 'New York'
   3 => 'New car' 
);

$string = "Its a sunny day in New York";

Ich versuche zu klären. In diesem Fall sollte array[3] keine Übereinstimmung sein. Nur array[2] sollte übereinstimmen.

0voto

RobinJ Punkte 4633

Sie können dafür die Funktion in_array verwenden: http://php.net/manual/en/function.in-array.php

if (in_array($value, $array))
{
echo $value . ' is in the array!';
}

0voto

kurt Punkte 254

So etwas wie das hier?

$array = Array( 
   0 => 'word1',
   1 => 'word2',
   2 => 'word3'
);

$string = "there a good word3 here";

function findInArray($string, $array) {
    for ($x=0; $x < count($array); $x++) {
        if (preg_match('/\b' . $array[$x] . '\b/', $string)) { // The \b in the pattern indicates a word boundary, so only the distinct 
            return true;
        }
    }
    return false;
}

if (findInArray($string, $array)) {
   // do stuff
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X