-
Array str_split
Salve, sono davvero alle prime armi.
Sto cercando di partire da un input "ciao" e ottenere un output ":_c_:"":_i_:"":_a_:"":_o_:"
Ho provato con
Codice PHP:
$arr1 = str_split($str);
print_r(":_"$arr1"_:");
Ho provato anche con
Codice PHP:
$arr1 = str_split($str);
$arr = ":_".($arr1)."_:";
print_r($arr);
ma mi risulta ":_Array_:" invece di ":_a_:"":_b_:" e cosi via
mentre invece se uso
codice:
Codice PHP:
$arr1 = str_split($str);
$arr = ":_".($arr1[0])."_:".":_".($arr1[1])."_:";
print_r($arr);
Ottengo quello che voglio, ma se ad esempio metto solo una lettera nell'input, nell'output il secondo mi viene printato solo con la punteggiatura ovviamente ":__:" come posso risolvere? grazie mille!
-
Codice PHP:
<?php
$str = 'ciao';
function aggiungiAdElemento(&$value)
{
$value = ':_'.$value.'_:';
}
$arr1 = str_split($str);
array_walk($arr1,"aggiungiAdElemento");
print_r($arr1); //output
?>
Se vuoi soltanto stamparlo a video:
Codice PHP:
<?php
$str = 'ciao';
function aggiungiAdElemento($value)
{
echo ':_'.$value.'_:';
}
$arr1 = str_split($str);
array_walk($arr1,"aggiungiAdElemento");
?>
Ciao!
-
Wow velocissimo grazie mille!
Vorrei chiederti un'altra cosa se hai tempo.
Potrei aver bisogno di modificare alcune lettere, per intenderci se prima era "a" -> ":_a_:" potrei aver bisogno di "a" -> ":bcd:", "b" -> ":sae:".
come devo procedere in quel caso? per i due punti uso sempre la funzione che hai creato tu sopra, ma per cambiare quello che sta all'interno che funzione mi consigli di usare? forse devo creare una sorta di piccolo database con le 21 trasformazioni? grazie e scusa se è una domanda banale :)
-
Vedi la funzione str_replace().
Ciao!