利用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!
)
  
 

      方法多多, 如上仅为一种。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值