2017-07-21 63 views
-1
$array = array(' lastname ', ' email ', ' phone '); 
$comma_separated = implode(" ", $array); 

echo $comma_separated; // lastname email phone 

我上面的代碼合併或加入PHP的問題字符串如果數組元素在加入額外的字符串有額外的空間。裝飾得到修整字符串

預期的結果:回聲

如何第一次修剪在陣列中的每個元素單詞之間只有一個空格前破滅

回答

2

使用下面的代碼:

$array = array(' lastname ', ' ',' email ', ' phone '); 

$trimedarray=array_map("trim",$array); 

$modifiedarray=array_values(array_filter($trimedarray)); 

$comma_separated = implode(" ", $modifiedarray); 

echo $comma_separated; 
+0

你好我問的是錯的,我沒有注意到在陣列中的空值如果'$ array = array('lastname','','email','phone');如何獲得非空的元素 ' – Martin

+0

$ emptyelementsremovedarray = array_filter($ array); @Martin – Karthik

+0

現在檢查..我編輯你的要求@Martin – Karthik

1

修剪數組元素使用trimarray_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

+0

嗨我問的是錯誤的我沒有注意到在數組中的空值如果'$陣列=數組('姓','','電子郵件','電話「);如何獲得不是空的元素 ' – Martin

+0

@Martin可能是你想試試這個..查看更新的答案 – NID

2

第一:使用array_filter到濾光器陣列的

第二空元件:使用array_map功能的trim功能應用於each valuearray

3裏面:使用implodebreakarray into string

$array = array(' lastname ', ' email ','',' phone '); 

$string= implode(" ", array_map("trim",array_filter($array))); 

echo $string;