程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中explode與split函數的區別

php中explode與split函數的區別

編輯:關於PHP編程

在一個層面來看php中的explode與split函數沒什麼區別都用來把字符以什麼分開成數組了,但仔細看一下explode與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有效。


解析可能用斜線,點,或橫線分割的日期:  

例子   2.   split()   例子

<?php
//   分隔符可以是斜線,點,或橫線
$date   =   "04/30/1973 ";
list($month,   $day,   $year)   =   split   ( '[/.-] ',   $date);
echo   "Month:   $month;   Day:   $day;   Year:   $year <br   /> n ";
?>    


想仿效   Perl   中類似的   @chars   =   split( ' ',   $str)   行為,請參考   preg_split()   函數中的例子。  

注意   pattern   是一個正則表達式。如果想要用的分割字符是正則表達式中的特殊字符,要先將其轉義。如果覺得   split()(或其它任何   regex   函數)行為古怪的話,請閱讀包含在   PHP   發行包中   regex/   子目錄下的   regex.7   文件。該文件是手冊頁面格式

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