2013-11-27 3 views
11

У меня есть строка в php с именем $ пароль = "1bsdf4";Как добавить пробел после каждого символа в строке в php?

Я хочу выходной "1 б ы п d 4"

Как это возможно. Я пытался функцию взрывать, но я не был в состоянии сделать ..

$password="1bsdf4";  
$formatted = implode(' ',$password);  
echo $formatted; 

Я попробовал этот код:

$str=array("Hello","User");  
$formatted = implode(' ',$str);  
echo $formatted; 

Его работа и добавление пространства в привет и пользователь! Окончательный выход я получил Привет Пользователь

Спасибо, ваш ответ будет понятно .. :)

+2

'$ пароль = "1bsdf4"; $ formatted = implode ('', str_split ($ password)); echo $ formatted; ' –

ответ

23

Вы можете использовать взрывать нужно просто использовать str_split первый, который преобразует строку в массив:

$password="1bsdf4";  
$formatted = implode(' ',str_split($password)); 

http://www.php.net/manual/en/function.str-split.php

Извините, не комментировал @MarkB aker, если вы хотите преобразовать свой комментарий в ответ, я могу удалить это.

4

Вы можете использовать chunk_split для этой цели.

$formatted = trim(chunk_split($password, 1, ' ')); 

trim здесь необходим удалить пробел после последнего символа.

1

Вы можете использовать этот код [DEMO]:

chunk_split() построен в функции PHP для разделения строки на более мелкие куски.

+0

Единственная проблема для этого решения заключается в том, что добавляется дополнительное пространство в конце сгенерированной строки. – suarsenegger

1

Это также работал ..

$password="1bsdf4";  
echo $newtext = wordwrap($password, 1, "\n", true); 

Выход: "1 б ы д е 4"

0
function break_string($string, $group = 1, $delimeter = ' ', $reverse = true){ 
      $string_length = strlen($string); 
      $new_string = []; 
      while($string_length > 0){ 
       if($reverse) { 
        array_unshift($new_string, substr($string, $group*(-1))); 
       }else{ 
        array_unshift($new_string, substr($string, $group)); 
       } 
       $string = substr($string, 0, ($string_length - $group)); 
       $string_length = $string_length - $group; 
      } 
      $result = ''; 
      foreach($new_string as $substr){ 
       $result.= $substr.$delimeter; 
      } 
      return trim($result, " "); 
     } 

$password="1bsdf4"; 
$result1 = break_string($password); 
echo $result1; 
Output: 1 b s d f 4; 
$result2 = break_string($password, 2); 
echo $result2; 
Output: 1b sd f4. 
Смежные вопросы