2014-02-13 106 views
0
<?php 

$str = '1000 - 2000'; 
$str = preg_replace('/\s+/', '', $str); 
// zero limit 
print_r(explode('-',$str,0)); 


?> 

http://ideone.com/rFvgZI爆炸功能分隔空格

我試圖得到兩個數組項「1000」和「2000」也沒有用。我在這裏做錯了什麼?

+0

刪除'爆炸'的第三個參數 –

+0

爲什麼使用0限制? – Barmar

+0

零極限被認爲是極限= 1。 – Barmar

回答

1

放下第三個參數來爆炸。這第三個參數設置爲0,你基本上得到一個元素的數組返回一個包含整個字符串...

PARAMETERS 
· $delimiter 
- The boundary string. 

· $string 
- The input string. 

· $limit 
- If $limit is set and positive, the returned array will contain a 
    maximum of $limit elements with the last element containing the rest 
    of $string. If the $limit parameter is negative, all components except 
    the last -$limit are returned. If the $limit parameter is zero, then 
    this is treated as 1. 
0

這將做

$arr = preg_split('/\s*-\s*/', $str); 

這是圍繞拆分給定的字符串(零個或多個空格(\ S *)+一個連字符+零個或多個空格(\ S *))。

+1

你能解釋一點你的答案嗎?這被標記爲低質量的帖子。 – Rico

0

怎麼樣只是(對所有空格):

<?php 
    $str = '1000 - 2000'; 
    $tmp = explode('-', preg_replace('/\s+/', '', $str)); 
    var_dump($tmp); 
?> 
+1

我編輯了我的評論;) – Stv