Controllo lettera per lettera

Salve ragazzi!

Quello che oggi vorrei chiedervi, magari anche molto semplice per voi, è come poter effettuare un controllo per ogni lettera in una parola data in input.

Ad esempio, far fare a php un controllo sulla parola 'doccia' per verificare quante volte si ripete la lettera 'c'.

Grazie in anticipo!!

inviato 8 anni fa
Newbie
X 0 X
echo substr_count('doccia' , 'c');

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Per fare un conteggio come quello del tuo esempio, la soluzione di Gianni è la più esatta.

Più in generale, usa la funzionestr_split($stringa); che restituisce un array in cui ogni elemento è una lettera della stringa.

Ad esempio, risolvendo il problema di prima con questa funzione:

<?php
$word = 'doccia';
$letters = str_split($word);
$c=0;
foreach ($letters as $v) {
    if ($v=='c') $c++;
}
?>
risposto 8 anni fa
sydarex
X 0 X

Ricordo male o in PHP ogni parola è un array di caratteri come in C?

risposto 8 anni fa
Marco Grazia
X 0 X
Ricordo male o in PHP ogni parola è un array di caratteri come in C?

In effetti..   :2funny:

Quindi dovrebbe bastare usare il foreach su $stringa direttamente senza usare str_split().  :D

risposto 8 anni fa
sydarex
X 0 X
Ricordo male o in PHP ogni parola è un array di caratteri come in C?

In effetti..   :2funny:

Quindi dovrebbe bastare usare il foreach su $stringa direttamente senza usare str_split().  :D

 ;)

risposto 8 anni fa
Marco Grazia
X 0 X

quindi ragazzi se dovrei fare un controllo su tutte le lettere di una parola se sono contenute o meno in un array la struttura sarebbe più o meno questa:

<?php
  $parola="doccia";
  $alfabeto= array("a","b","c");
  $lettere = str_split($parola);
  $valore=0;
  foreach($lettere as $i) {
          if (in_array("$i", "$alfabeto")) $valore++;
          }
 echo "$valore";
?>

 :-\

risposto 8 anni fa
Newbie
X 0 X

Il codice che hai scritto verifica quante volte, nella parola, sono contenute le lettere dell'array, si.

Solo, non occorre che usi i doppi apici quando indichi delle variabili ($valore, non "$valore").

<?php
  $parola="doccia";
  $alfabeto= array("a","b","c");
  $lettere = str_split($parola);
  $valore=0;
  foreach($lettere as $i) {
          if (in_array($i,$alfabeto)) $valore++;
          }
 echo $valore;
?>
risposto 8 anni fa
sydarex
X 0 X

0k! grazie mille a tutti per i consigli ;)

risposto 8 anni fa
Newbie
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda