目錄
您可能感兴趣的文章
首頁 php教程 php手册 php性能优化:使用 isset()判断字符串长度速度比strlen()更快

php性能优化:使用 isset()判断字符串长度速度比strlen()更快

Jun 13, 2016 am 09:36 AM
isset() strlen() 速度

php中如何判断字符串的长度?很多人第一想到的应该就是 strlen() mb_strlen() 这些函数了。但是从程序性能上来讲,这两个函数在判断字符串长度的过程中都不是最佳的,虽然他们是专业级的检测字符串长度的函数。

通过本人实践总结,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。

那么isset()速度为什么比strlen()更快呢?

strlen()函数函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化、哈希查找,会跟随被调用的函数一起执行。因此在某些情况下,合理使用isset()可以加速你的程序。因为isset()是一种语言结构,它的执行不需要函数查找和字母小写化等。

具体通过 isset() 和 strlen() 判断字符串长度示例如下:

$str='http://www.phpernote.com/php-template/436.html';
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!");
?>
登入後複製

结果将输出:

12

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() 函数。

您可能感兴趣的文章

  • php字符串替换函数str_replace速度比preg_replace快
  • php最精确的字符串长度截取函数
  • php被遗忘的一些功能强大的字符串处理函数
  • php获取utf8字符串的字符长度
  • PHP中的字符串处理函数(String Functions) 全总结
  • php判断字符串是否全英文,纯中文,中英文组合的方法
  • PHP 字符串转义函数(addslashes,stripslashes)详解
  • php 将字符串中的连续多个空格转换为一个空格
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
Uplay下載速度持續為零,無變化 Uplay下載速度持續為零,無變化 Dec 23, 2023 pm 02:49 PM

很多小夥伴吐槽Uplay下載速度慢,還有Uplay平台下載速度太慢有的時候只有幾KB,那麼應該如何解決呢?主要是dns和hosts文件的問題,下面由我帶給大家Uplay下載速度慢的解決方案,具體的一起來看看吧。 Uplay下載速度慢一直為0解決方法1、雙擊開啟這台電腦!如下圖所示2、進入這台電腦,找到你的系統盤,一般預設都是c盤,如下圖所示3、接著進入這個資料夾:C:\Windows\System32\drivers\etc\,如下圖所示4、右鍵點選hosts檔案-選擇開啟方式,如下圖所示5、開啟

Win10電腦上傳速度慢怎麼解決 Win10電腦上傳速度慢怎麼解決 Jul 01, 2023 am 11:25 AM

  Win10電腦上傳速度慢怎麼解決?我們在使用電腦的時候可能會覺得自己電腦上傳檔案的速度非常的慢,那麼這是什麼情況呢?其實這是因為電腦預設的上傳速度為20%,所以才導致上傳速度非常慢,很多小夥伴不知道怎麼詳細操作,小編下面整理了win11格式化c碟操作步驟,如果你有興趣的話,跟著小編一起往下看看吧!  Win10上傳速度慢的解決方法  1、按下win+R調出運行,輸入gpedit.msc,回車。  2、選擇管理模板,點選網路--Qos封包計畫程序,雙擊限制可保留頻寬。  3、選擇已啟用,將帶

格式化筆記型電腦會使其速度更快嗎? 格式化筆記型電腦會使其速度更快嗎? Feb 12, 2024 pm 11:54 PM

格式化筆記型電腦會使其速度更快嗎?如果您想格式化您的Windows筆記型電腦,但想知道它是否會使速度更快,本文將幫助您了解這個問題的正確答案。格式化筆記型電腦會使其速度更快嗎?使用者格式化Windows筆記型電腦的原因有很多。但最常見的原因是筆記型電腦的效能或速度緩慢。格式化筆記型電腦會徹底刪除C碟或安裝Windows作業系統的硬碟分割區上儲存的所有資料。因此,每個用戶在採取這一步驟之前都會三思而後行,尤其是在筆記型電腦的性能方面。本文將幫助您了解格式化筆記型電腦是否會加快速度。格式化筆記型電腦有助於

深度解讀:為何Laravel速度慢如蝸牛? 深度解讀:為何Laravel速度慢如蝸牛? Mar 07, 2024 am 09:54 AM

Laravel是一款廣受歡迎的PHP開發框架,但有時候被人詬病的就是其速度慢如蝸牛。究竟是什麼原因導致了Laravel的速度不盡人意呢?本文將從多個面向深入解讀Laravel速度慢如蝸牛的原因,並結合具體的程式碼範例,幫助讀者更深入地了解此問題。 1.ORM查詢效能問題在Laravel中,ORM(物件關係映射)是一個非常強大的功能,可以讓

比較Google瀏覽器的單核心與雙核心瀏覽器速度 比較Google瀏覽器的單核心與雙核心瀏覽器速度 Jan 29, 2024 pm 11:15 PM

谷歌瀏覽器的單核心要比雙核心瀏覽器速度慢嗎?現在很多人都在使用各式各樣的瀏覽器上網衝浪,谷歌瀏覽器就是其中之一,作為瀏覽器中的引領者,其技術毋庸置疑。有些小夥伴常問小編,大家口中所說的瀏覽器單雙核是什麼意思?這會影響到瀏覽器的載入速度嗎?今天小編就跟大家好好聊聊這個問題吧。谷歌瀏覽器的單核心與雙核心瀏覽器速度PK首先,小編先給大家一個結論:單核心谷歌瀏覽器較於雙核心瀏覽器在速度上是不慢的。瀏覽器的核心並不是就像電池一樣,數量越多就越強。雙核心瀏覽器其中一個核心是IE瀏覽器內核,另一個核心為WebKit

如何透過PHP多執行緒提高大規模資料排序的速度 如何透過PHP多執行緒提高大規模資料排序的速度 Jun 29, 2023 pm 04:15 PM

如何透過PHP多執行緒提高大規模資料排序的速度隨著網路的高速發展和大數據的普及,對於處理大量資料的需求也越來越大。其中,對於資料排序這個常見問題,如何提高處理速度成為了亟待解決的問題。在PHP領域,多執行緒技術被認為是一種有效的解決方案。本文將介紹如何透過PHP多執行緒提高大規模資料排序的速度。一、多線程的原理多線程是指同時存在多個線程,多個線程可同時執行不

LG 量產 27 吋 480Hz QHD 遊戲 OLED 面板 清晰度響應速度創新高 LG 量產 27 吋 480Hz QHD 遊戲 OLED 面板 清晰度響應速度創新高 Sep 01, 2024 pm 03:37 PM

近日,LGDisplay宣布,其27吋480HzQHD遊戲OLED面板正式投入量產。該面板在OLED產品中創造了刷新率和響應速度的新高,480Hz的刷新率搭配0.02ms的GtG灰階響應時間,較之前0.03ms的記錄更進一步,為FPS、賽車等遊戲類型帶來極致體驗。新面板優化LGDisplay的METATechnology技術提升了OLED材質發光效率。畫質增強,鏡面反射大幅減少。四面無邊框設計擴大了視野範圍,帶來沉浸感體驗。像素結構優化WRGB像素結構針對遊戲和文件編輯需求最佳化。文字顯示更加清

PHP函數介紹—strlen(): 取得字串的長度 PHP函數介紹—strlen(): 取得字串的長度 Jul 24, 2023 am 09:03 AM

PHP函數介紹—strlen():取得字串的長度在PHP開發中,我們經常需要取得字串的長度,來進行各種運算。 PHP提供了一個非常實用的函數strlen()來取得字串的長度。本文將向大家介紹這個函數的用法,並給一些範例程式碼。 strlen()函數的語法如下:intstrlen(string$string)它接受一個參數,也就是要取得長度的字串,

See all articles