我有一個值列表,我必須檢查我的輸入是否存在。檢查值存在的最快方法
什麼是最快的方法?
這確實是出於好奇就如何內部工作,而不是任何東西約過早的優化等等
$x=array('v'=>'','c'=>'','w'=>);
..
..
array_key_exists($input,$x);
2.
$x=array('v','c','w');
..
..
in_array($input,$x);
我有一個值列表,我必須檢查我的輸入是否存在。檢查值存在的最快方法
什麼是最快的方法?
這確實是出於好奇就如何內部工作,而不是任何東西約過早的優化等等
$x=array('v'=>'','c'=>'','w'=>);
..
..
array_key_exists($input,$x);
2.
$x=array('v','c','w');
..
..
in_array($input,$x);
isset($x[$input])
怎麼樣,如果適合您的需求,通常會擊敗所呈現的兩個。
在問題中的兩種方法中,array_key_exists
比in_array
要做的工作要少,所以如果您只需要選擇那兩個,那麼array_key_exists
就是它。
另外:你有關於「內部」的具體問題嗎?
isset更快? – 2010-05-28 12:01:36
@Itay isset * short * – 2010-05-28 12:03:37
@Itay Moav,試試看看。在大多數情況下,它會是。它更短*從而節省我們可憐的,疲憊的手指。 – salathe 2010-05-28 12:03:48
爲什麼不看一眼PHP源代碼,如果你真的好奇內部工作是如何工作的? – 2010-05-28 12:04:27
@Col。 Shrapnel最終會做到這一點,但我剛剛開始學習PHP的內幕,並且以結構化的方式進行。目前的問題來自我的觀點。 – 2010-05-28 13:08:35