PHP函數中isset和array-key-exists的差異
本文將為大家講解PHP函數中isset和array_key_exists的差異,歡迎學習!
在判斷某個 PHP 數組的索引值是否存在,一般會使用 isset 和 array_key_exists 兩種方法。
isset($a['key'])
array_key_exists('key', $a)
array_key_exists 確切地告訴你,數組是否存在某個鍵,而 isset 則只是返回鍵值是否為 null 的狀態。也就是説,假設給定下面的數組:
$a = array('key1' => '123', 'key2' => null);
使用這兩個方法判斷鍵值存在情況,結果如下:
isset($a['key1']); // true
array_key_exists('key1', $a); // true
isset($a['key2']); // false
array_key_exists('key2', $a); // true
從 PHP 引擎本身來説,底層都是 C 語言的實現,array_key_exists 和 isset 應該都是很快的。如果運算次數上千次上萬次,這種情況下 isset 的性能應該更為顯著。
【相關閲讀】PHP函數similar_text()原理分析
PHP有個計算兩個字符串相似度的函數similar_text(),可以得出一個百分比來表示兩個字符串的相似程度。效果如下:
similar_text('aaaa', 'aaaa', $percent);
var_dump($percent);
//float(100)
similar_text('aaaa', 'aaaabbbb', $percent);
var_dump($percent);
//float(66.666666666667)
similar_text('abcdef', 'aabcdefg', $percent);
var_dump($percent);
//float(85.714285714286)
利用這個函數,可以用來做模糊搜索的功能,或者其他需要模糊匹配的功能。最近我在驗證碼識別研究中的特徵匹配一步上涉及到了這個函數。
但這個函數具體使用了怎樣的算法呢?我研究了他的底層實現,總結為三步:
(1)找出兩個字符串中相同部分最長的一段;
(2)再用同樣的'方法在剩下的兩段中分別找出相同部分最長的一段,以此類推,直到沒有任何相同部分;
(3)相似度 = 所有相同部分的長度之和 * 2 / 兩個字符串的長度之和;
我研究的源代碼版本是PHP 5.4.6,相關的代碼位於文件php-5.4.6/ext/standard/string.c的第2951~3031行。以下是我加過註釋後源代碼。
//找出兩個字符串中相同部分最長的一段
-
PHP編程常用技巧四則
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。下面就來和小編一起看看PHP編程常用技巧四則吧。1.配置PHP文件目錄作為服務器端解釋執行的腳本語言,PHP程序放置在某個服務器可以訪問的目錄下,一般可以通過修改Apache的進行配置,例如我們在該文件中的一句:Ali...
-
ThinkPHP中自動驗證
學無止境,剛開始學習PHP會覺得簡單,但是越學會越難。下面是小編整理的關於ThinkPHP中自動驗證的知識,希望對大家有用,更多消息請關注應屆畢業生網。ThinkPHP中自動驗證:array(‘字段’,‘驗證規則’,‘錯誤提示’[,‘驗證條件&rsqu...
-
PHP程序員基本要求和必備技能
PHP程序員有什麼必備知識呢?以下是本站小編精心為大家整理的PHP程序員基本要求和必備技能,希望對大家成為程序員有所幫助!更多內容請關注應屆畢業生網!一名PHP程序員的基本要求:1、精通html、CSS、JS等網站前端技術。2、掌握PHP編程技術。3、瞭解Linux及Apache、...
-
php是什麼大綱
導讀:時至今日,仍有無以數計的童鞋出於各種渠道瞭解仍要來學習php,那麼對於新手來説,對php有一個清晰的認知則是很有必要的。Php是什麼?PHP是一種創建動態交互性站點的強有力的服務器端腳本語言。PHP是免費的,並且使用非常廣泛。同時,對於像微軟ASP這樣的競爭者來説,P...
相關文章
- 英語四級作文The Importance of Physical Exercise
- JavaScript中的style.cssText使用教程分解
- Passage Eighteen (Strictly Ban smoking)英語閲讀理解
- Box Jellyfish Eyes Aim At The Trees美文欣賞
- 《Right Diet To Keep Eyes Healthy》英語閲讀訓練
- PEP英語UnitThreeisthisyourskirt的教學設計
- Is a Test of Spoken English Necessary英語四級作文
- The Risks of Plastic Surgery高中英語作文及翻譯
- AssistMyFathertoDoExercises國中英語作文
- A Letter to the University President為題目的作文