Как добавить пробел после каждого символа в строке в php?


У меня есть строка в php с именем $пароль=" 1bsdf4 1bsdf4";

Мне нужен вывод "1 b s d f 4"

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

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

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

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

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

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

Author: Himanshu Chawla, 2013-11-27

6 answers

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

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

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

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

 27
Author: Pitchinnate, 2013-11-27 16:05:17

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

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

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

 4
Author: kero, 2016-08-11 21:13:46

Вы можете использовать этот код [ДЕМОНСТРАЦИОННЫЙ]:

<?php
 $password="1bsdf4";
 echo chunk_split($password, 1, ' ');

Chunk_split() - это встроенная функция PHP для разделения строки на более мелкие фрагменты.

 1
Author: Dejv, 2013-11-27 16:05:46

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

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

Вывод: "1 b s d f 4"

 1
Author: Himanshu Chawla, 2013-11-27 16:18:44

Как насчет этого

$formatted = preg_replace("/(.)/i", "\${1} ", $formatted);

В соответствии с: http://bytes.com/topic/php/answers/882781-add-whitespace-between-letters

 0
Author: Henk Jansen, 2013-11-27 15:56:55
    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.
 0
Author: Alexey Azbukin, 2015-10-26 22:24:12