【问题标题】:trim before implode in php to get trimmed strings在 php 内爆之前修剪以获得修剪后的字符串
【发布时间】:2017-07-21 04:16:21
【问题描述】:
$array = array(' lastname ', ' email ', ' phone ');
$comma_separated = implode(" ", $array);

echo $comma_separated; // lastname  email  phone

我有上面的代码来组合或连接 PHP 中的字符串问题是如果数组中的元素在连接的字符串中有额外的元素,它就有额外的空间。

预期结果:echo 中的单词之间只有一个空格

如何在 implode 之前先修剪数组中的每个元素

【问题讨论】:

    标签: php arrays string implode


    【解决方案1】:

    第一个:使用array_filter过滤数组的空元素

    第二个:使用array_map函数将trim函数应用于each value内部array

    第三个:使用implodebreakarray into string

    $array = array(' lastname ', ' email ','',' phone ');
    
    $string= implode(" ", array_map("trim",array_filter($array)));
    
    echo $string;
    

    【讨论】:

      【解决方案2】:

      使用以下代码:

      $array =  array(' lastname ', ' ',' email ', ' phone ');
      
      $trimedarray=array_map("trim",$array);
      
      $modifiedarray=array_values(array_filter($trimedarray)); 
      
      $comma_separated = implode(" ", $modifiedarray);
      
      echo $comma_separated;
      

      【讨论】:

      • 嗨,我问错了我没有注意到数组中有一个空白值如果$array = array(' lastname ', ' ',' email ', ' phone '); how to only get element that is not empty
      • $emptyelementsremovedarray = array_filter($array); @马丁
      【解决方案3】:

      使用trim by array_map 修剪数组元素,最后做一个 array_filter 使用 strlen 作为回调。

      $array = array(' lastname ', ' ',' email ', ' phone ');    
      
      $new_arr = array_filter(array_map('trim',$array),'strlen');
      
      $comma_separated = implode(" ", $new_arr);
      
      echo $comma_separated;
      

      输出

      lastname email phone
      

      观看直播Demo

      【讨论】:

      • 嗨,我问错了我没有注意到数组中有一个空白值如果$array = array(' lastname ', ' ',' email ', ' phone '); how to only get element that is not empty
      • @Martin 也许你想试试这个.. 查看更新的答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多