<?
// ### 切分字符串 ####
function jb51netcut($start,$end,$file){
$content=explode($start,$file);
$content=explode($end,$content[1]);
return $content[0];
}
?>
explode定義和用法
explode() 函數(shù)把字符串分割為數(shù)組。
語(yǔ)法
explode(separator,string,limit)
參數(shù) |
描述 |
separator |
必需。規(guī)定在哪里分割字符串。 |
string |
必需。要分割的字符串。 |
limit |
可選。規(guī)定所返回的數(shù)組元素的最大數(shù)目。 |
說明
本函數(shù)返回由字符串組成的數(shù)組,其中的每個(gè)元素都是由 separator 作為邊界點(diǎn)分割出來(lái)的子字符串。
separator 參數(shù)不能是空字符串。如果 separator 為空字符串(""),explode() 將返回 FALSE。如果 separator 所包含的值在 string 中找不到,那么 explode() 將返回包含 string 中單個(gè)元素的數(shù)組。
如果設(shè)置了 limit 參數(shù),則返回的數(shù)組包含最多 limit 個(gè)元素,而最后那個(gè)元素將包含 string 的剩余部分。
如果 limit 參數(shù)是負(fù)數(shù),則返回除了最后的 -limit 個(gè)元素外的所有元素。此特性是 PHP 5.1.0 中新增的。
提示和注釋
注釋:參數(shù) limit 是在 PHP 4.0.1 中加入的。
注釋:由于歷史原因,雖然 implode() 可以接收兩種參數(shù)順序,但是 explode() 不行。你必須保證 separator 參數(shù)在 string 參數(shù)之前才行。
例子
在本例中,我們將把字符串分割為數(shù)組:
<?php
$str = "Hello world. It's a beautiful day.";
print_r (explode(" ",$str));
?>
輸出:
Array
(
[0] => Hello
[1] => world.
[2] => It's
[3] => a
[4] => beautiful
[5] => day.
)
str_split() 將字符串分割為一個(gè)數(shù)組,成功返回一個(gè)數(shù)組。
語(yǔ)法:
array str_split( string string [, int length] )
參數(shù)說明:
參數(shù) |
說明 |
string |
需要分割的字符串 |
length |
可選,表示每個(gè)分割單位的長(zhǎng)度,不可小于1 |
例子:
<?php
$str = 'one two three';
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
輸出結(jié)果如下:
Array
(
[0] => o
[1] => n
[2] => e
[3] =>
[4] => t
[5] => w
[6] => o
[7] =>
[8] => t
[9] => h
[10] => r
[11] => e
[12] => e
)
Array
(
[0] => one
[1] => tw
[2] => o t
[3] => hre
[4] => e
)
php中explode與split的區(qū)別介紹
首先來(lái)看下兩個(gè)方法的定義:
函數(shù)原型:array split (string $pattern, string $string [, int $limit])
函數(shù)原型:array explode ( string $separator, string $string [, int $limit])
初看沒有啥差別,貌似功能都一樣。我就犯了這個(gè)錯(cuò)誤。 請(qǐng)注意兩個(gè)函數(shù)的第一個(gè)參數(shù)string $pattern和string separator,一個(gè)是$pattern說明是正則字符串,一個(gè)是$separator是普通字符串。
看下面的代碼:
$test = end(explode('.', 'abc.txt'));
echo $test;//output txt
換成:
$test1 = end(split('.','abc.txt'));
echo $test1;//no output
用split的正確做法是:加轉(zhuǎn)義符號(hào)
$test1 = end(split('\.','abc.txt'));
echo $test1;//output txt
分析:"." 符號(hào)是正則表達(dá)式的關(guān)鍵字所以split無(wú)效,而explode有效。
PHP implode() 函數(shù)
例子<?php$arr = array('Hello','World!','Beautiful','Day!');echo implode(" ",$arr);?>
輸出:
Hello World! Beautiful Day!
訂義和用法implode() 函數(shù)把數(shù)組元素組合為一個(gè)字符串。
語(yǔ)法implode(separator,array)
參數(shù)描寫separator可選。劃定數(shù)組元素之間擱放的內(nèi)容。默許是 ""(空字符串)。array必須,400電話。要聯(lián)合為字符串的數(shù)組。闡明固然 separator 參數(shù)是可選的。但是為了背后兼容,推舉您使用使用兩個(gè)參數(shù)。
提醒和正文正文:implode() 能夠接受兩類參數(shù)次序。但是因?yàn)闅v史緣由,explode() 是沒有止的。您必需保證 separator 參數(shù)正在 string 參數(shù)之前才止。
PHP的explode和implode
<?php
$zongzi = "1|2|3|4|5|6";
$zongzi = explode("|",$zongzi);
var_dump($zongzi);
$zongzi = implode("|",$zongzi);
echo $zongzi;
?>