1. 程式人生 > >利用php的explode函式將字串按分隔符(比如空格)分拆並組裝在陣列中-----要考慮連續空格問題

利用php的explode函式將字串按分隔符(比如空格)分拆並組裝在陣列中-----要考慮連續空格問題

       看php:

<?php
    $str = "Hello world. I love php!";
    $arr = explode(" ", $str);
    
    print_r($arr);
?>  
       結果:

Array
(
    [0] => Hello
    [1] => world.
    [2] => I
    [3] => love
    [4] => php!
)
   

        但當空格較多時候, 就有問題了, 如下:

<?php
    $str = "Hello     world.    I love   php!";
    $arr = explode(" ", $str);
    
    print_r($arr);
?>  
      結果:

Array
(
    [0] => Hello
    [1] => 
    [2] => 
    [3] => 
    [4] => 
    [5] => world.
    [6] => 
    [7] => 
    [8] => 
    [9] => I
    [10] => love
    [11] => 
    [12] => 
    [13] => php!
)
       這顯然不是期望的結果, 其中有太多空元素了。 應該改為:

<?php
    $str = "Hello     world.    I love   php!";
    $arr = explode(" ", $str);
    $arr = array_filter($arr);  // 刪除空元素
    print_r($arr);
    
    foreach($arr as $value)
    {
        $newArr[] = $value;
    }
    
    print_r($newArr);
?>  
       結果為:

Array
(
    [0] => Hello
    [5] => world.
    [9] => I
    [10] => love
    [13] => php!
)
Array
(
    [0] => Hello
    [1] => world.
    [2] => I
    [3] => love
    [4] => php!
)
  

      方法多多, 如上僅為一種。