2013-11-27 5 views
11

Ho una stringa in php denominata $ password = "1bsdf4";Come aggiungere uno spazio dopo ogni carattere in una stringa in php?

voglio uscita "1 b s d f 4"

Come è possibile. Cercavo funzione implode, ma non ero in grado di fare ..

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

Ho provato questo codice:

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

Il suo funzionamento e l'aggiunta di spazio ciao e utente! finale di uscita ho avuto Ciao utente

Grazie, sii risposte saranno apprezzati .. :)

+2

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

risposta

23

È possibile utilizzare implodere non vi resta che utilizzare str_split prima che converte la stringa in un array:

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

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

Siamo spiacenti, non viene visualizzato il tuo commento @MarkB aker se vuoi convertire il tuo commento in una risposta posso rimuoverlo.

4

È possibile utilizzare chunk_split per questo scopo.

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

trim è necessario qui per rimuovere lo spazio vuoto dopo l'ultimo carattere.

1

È possibile utilizzare questo codice [DEMO]:

chunk_split() è costruire-in funzione PHP per la stringa divisione in porzioni più piccole.

+0

L'unico problema per questa soluzione è che aggiunge uno spazio extra alla fine della stringa generata. – suarsenegger

1

Questo ha anche lavorato ..

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

uscita: "1 b s d f 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.