I nasıl belirli bir tamsayı dizisi içinde olup olmadığını görmek için kontrol edebilirim?

3 Cevap

Bir anahtar statment içinde belirli bir tamsayı kontrol etmek için belirli bir yolu var mı.

Örneğin,.

$user = $ads[$i]->from_user;

Yukarıdaki ifadede $ i gibi sayı 2 için kontrol etmek için.

3 Cevap

Sen gibi kontrol edebilirsiniz:

if ($ads[$i] === 2)
{
 // code here
}

Yoksa yalnız bilseniz, bunu yapabilirsiniz:

if ($i === 2)
{
 // code here
}

Dize gösterimine (tip) numaralı, size == yerine kullanmalıdır ===.

Ancak 2 dizisinde mevcut olup olmadığı anlamına halinde $ads,

if (in_array(2, $ads))
{
 // 2 found in $ads array
}

Seni doğru anladım ise, ne istediğiniz önemli 2 $ads içinde olup olmadığını kontrol etmektir.

if(array_key_exists(2, $ads)) {
    // the key 2 exists in the array
}

array_key_exists bir hashtable'a arama ile uygulanır, çünkü bu şekilde, constant time O(1) içinde sonuç almak gerekir.

in_array gerektirecektir linear time O(n).

basit, daha iyi kendi veri ile değerleri maç için === operatörünü kullanabilirsiniz