PHP中explode與split的區別分析
今天在使用split時遇到一些問題。還是對函式理解不深刻,特寫出來做個記號
首先來看下兩個方法的定義:
函式原型:array split (string $pattern, string $string [, int $limit])
函式原型:array explode ( string $separator, string $string [, int $limit])
初看沒有啥差別,貌似功能都一樣。我就犯了這個錯誤。 請注意兩個函式的第一個引數string $pattern和string separator,一個是$pattern說明是正則字串,一個是$separator是普通字串。
看下面的程式碼:
$test = end(explode('.', 'abc.txt')); echo $test;//output txt
換成:
$test1 = end(split('.','abc.txt')); echo $test1;//no output
用split的正確做法是:加轉義符號
$test1 = end(split('\.','abc.txt')); echo $test1;//output txt
分析:”.” 符號是正規表示式的關鍵字所以split無效,而explode有效。
相關文章
- php中explode與split的區別介紹PHP
- PHP中new static()與new self()的區別異同分析PHP
- php中split()用法PHP
- PHP中isset()與empty()的使用區別詳解PHP
- PHP 中的 -> 和 :: 的區別PHP
- php中的chunk_split()和str_split()字串函式PHP字串函式
- php中TCP和UDP的區別PHPTCPUDP
- ***PHP中empty()和isset()的區別PHP
- js中 split slice splice 的區分JS
- [精選] SQL中的IN與NOT IN、EXISTS與NOT EXISTS的區別及效能分析SQL
- Javascript中“==”與“===”的區別JavaScript
- js中“==”與"==="的區別JS
- PHP7 ?? 與 ?: 的作用和區別PHP
- PHP的ob_flush()與flush()區別PHP
- PHP abstract與interface之間的區別PHP
- CGI,FastCGI,PHP-CGI與PHP-FPM的區別ASTPHP
- PHP中session和cookie的區別薦PHPSessionCookie
- 解析php中die(),exit(),return的區別PHP
- PHP中 new clone __clone區別PHP
- Oracle中單引號與雙引號的區別分析Oracle
- 128 PHP合併陣列+與array_merge的區別分析PHP陣列
- JavaScript與DropDownList 區別分析JavaScript
- SAP中MTO & MTS的區別分析
- DM7,DM8和ORACLE中對分割槽split的區別Oracle
- Java中(==)與equals的區別Java
- numpy中dot與*的區別
- Python中 ‘==‘ 與‘is‘的區別Python
- 深入剖析PHP輸入流php://input(與POST/GET的區別)PHP
- PHP isset()與empty()的使用區別詳解PHP
- 對線面試官:SQL中的IN與NOT IN、EXISTS與NOT EXISTS的區別及效能分析面試SQL
- php中aes加密和rsa加密的區別PHP加密
- PHP 中 bind 的用法 self 和 static 的區別PHP
- PHP版本的區別PHP
- js中!和!!的區別與用法JS
- js中 let 與 var 的區別JS
- HTTP中GET與POST的區別HTTP
- ruby中的\z與\Z區別
- 陣列中&a與&a[0]的區別陣列