PHP Değişken yılında Array Öğe mi

4 Cevap php

Bir dizi ve bir değişken var, ben dizi öğelerden herhangi değişkeninde meydana olmadığını kontrol etmek istiyorum. Ben bir şekilde strstr kullanın tahmin (?)

Örnek:

$bad = array('google.com', 'facebook.com', 'myspace.com');
$ref = $_SERVER['HTTP_REFERER'];
if(ANY OF $bad IS IN $ref) {
 ...        
}

4 Cevap

foreach ($array as $value) {
    if (strpos($variable, $value) !== false) {
        // yep, this array element exists in your variable, do what you want here
    }
}

(strpos() is a better choice than strstr() , daha az kaynak-ağır.)

Sadece değişken olup olmadığını belirlemek istiyorsanız strpos kullanmanız gerekir, ama sen dize parçası dönmek gerekmez.

Eğer Refereri (örneğin, maç 'üç' ... üç ... ') için substring matching gerekirse:

$array = array('one', 'two', 'three', ...);
$val = '...three...';
foreach ($array as $entry) {
    if (strpos($val, $entry) !== false) {
        print 'Look ma, I found it!';
    }
}

,, Sadece can (yani, sen exact matches arıyorsanız) değilse

$array = array('one', 'two', 'three', ...);
$needle = 'three';
if (in_array($needle, $array)) {
    print 'Look ma, I found it!';
}

@ Pinkgothic en (doğru) yorumuna göre düzenlenebilir.