Değeri varlığı kontrol etmek için en hızlı yol

2 Cevap php

Ben varlığı için buna karşı benim girişini denetlemek zorunda değerlerin bir listesi var.

Hızlı yolu nedir?

Bu internals vb, erken optimizasyon konusunda herhangi bir malzeme değil, nasıl gerçekten meraktan olduğunu ..

1..

$x=array('v'=>'','c'=>'','w'=>);

..

..

array_key_exists($input,$x);

2.

$x=array('v','c','w');

..

..

in_array($input,$x);

2 Cevap

Nasıl isset($x[$input]), hangi ihtiyaçlarınız için uygun olmadığını, genel olarak sunulan bu iki döverdi hakkında.

Söz konusu iki yöntemden, array_key_exists in_array daha yapmak için daha az çalışma vardır bu yüzden arasında seçim olsaydı sadece bu iki sonra array_key_exists olurdu.

Kenara: Eğer "internals" hakkında herhangi bir sorunuz var mı?

benim deneyim, array_key_exists dizi boyutu büyüdükçe özellikle, zaman% 99 daha hızlıdır.

Sizin örnek dizide gösterildiği gibi isset, boş değerlere false dönecektir olsa, bir dizi değeri arama vs karma arama yaptığı gibi söyleniyor, isset, hatta daha hızlı.