程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP使用isset()判斷字符串長度速度比strlen()更快

PHP使用isset()判斷字符串長度速度比strlen()更快

編輯:PHP綜合

    php中如何判斷字符串的長度?
    很多人第一想到的應該就是 strlen() mb_strlen() 這些函數了。
    但是從程序性能上來講,這兩個函數在判斷字符串長度的過程中都不是最佳的,雖然他們是專業級的檢測字符串長度的函數。通過本人實踐總結,php判斷字符串長度,使用isset()在速度上比strlen()更快,執行效率更高。
    那麼isset()速度為什麼比strlen()更快呢?
    strlen()函數函數執行起來相當快,因為它不做任何計算,只返回在zval 結構(C的內置數據結構,用於存儲PHP變量)中存儲的已知字符串長度。但是,由於strlen()是函數,多多少少會有些慢,因為函數調用會經過諸多步驟,如字母小寫化、哈希查找,會跟隨被調用的函數一起執行。因此在某些情況下,合理使用isset()可以加速你的程序。因為isset()是一種語言結構,它的執行不需要函數查找和字母小寫化等。
    具體通過 isset() 和 strlen() 判斷字符串長度示例如下:
    $str='http:///';
    if(strlen($str)<5){echo "未滿5";}
    if(!isset($str{5})){echo "未滿5";}
    下面我們來詳細的分析一下strlen()和isset()這兩個函數。
    PHP strlen() 函數定義和用法strlen() 函數返回字符串的長度。
    語法:strlen(string)參數:string
    描述:必需。規定要檢查的字符串。
    strlen() 函數實例
    <?php
    echo strlen("Hello world!");
    ?>
    PHP isset() 函數isset函數是檢測變量是否設置。
    語法:bool isset ( mixed var [, mixed var [, ...]] )返回值:若變量不存在則返回 FALSE
    若變量存在且其值為NULL,也返回 FALSE
    若變量存在且值不為NULL,則返回 TURE
    同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE如果已經使用 unset() 釋放了一個變量之後,它將不再是 isset()。
    若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSE。
    同時要注意的是:一個 NULL 字節("")並不等同於 PHP 的 NULL 常數。
    警告:isset() 只能用於變量,因為傳遞任何其它參數都將造成解析錯誤。若想檢測常量是否已設置,可使用defined() 函數。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved