array_push ve sorunları in_array

1 Cevap

Ben bu konuda biraz zorluk yaşıyorum. Bir kullanıcı adı bir AJAX isteği üzerinden kullanılabilir bir kullanıcı kontrol etmek için izin istiyorum. AJAX isteği benim php çağırır ve kullanıcı adı mevcut veya varsa yanlış değilse PHP true döndürür.

Ben (bulursa) diziye adını birleştirme ve daha sonra bir eşleşme bulmak için in_array'in kullanmak istedim. Ancak bu şekilde çalışmıyor.

    $res = // database returns any username that matches - (not an array)
    $banned = // database returns an assoc array of banned names

    array_push($banned, strtolower($res['user']));

    if(!in_array(strtolower($requested), $banned)){
        echo 'available';
    } else {
        echo 'not available';
    }

İşte yasaklı değişken bir örnek dizidir:

Array
(
    [0] => bad1
    [1] => bad2
    [3] => 
)

O $ res değişken bulunamadı çünkü 3 anahtar null.

Bunu yapmak için daha iyi bir yolu var mı? Ben aynı zamanda küçük harfe dizideki değerleri dönüştürmek gerekir.

1 Cevap

Okunabilmesi için, ben bu iyi olmazdı herhalde

if (isset($res['user'])) { // is this key set for this array?

    $banned[] = strtolower($res['user']); // append the strtolower`d version 
}