Come posso trovare le 3 parole più lunghe di una stringa ??
esempio:
La mamma preparava i biscotti per capuccetto rosso
io devo tirar fuori :
preparaba
biscotti
capuccetto
Non ho idea di come fare
Come posso trovare le 3 parole più lunghe di una stringa ??
esempio:
La mamma preparava i biscotti per capuccetto rosso
io devo tirar fuori :
preparaba
biscotti
capuccetto
Non ho idea di come fare
algoritmo veloce da provare:
explode rispetto allo spazio
per ogni parola calcola la sua lunghezza e conservi in un array le rispettive lunghezze
a questo array applichi un algoritmo di ordinamento, se non ricordo male c'è una funzione php di nome sort() che ordina.
infine estrai i primi tre elementi dell'array ordinato.
prova e fammi sapere
Codice PHP:
<?php
$stringa = "La mamma preparava i biscotti per capuccetto rosso";
$array = explode(" ",$stringa);
function ordina ( $a, $b ) {
if (strlen( $a ) == strlen( $b )) return 0;
return ( strlen( $a ) > strlen( $b ) ) ? -1 : 1;
}
usort($array,"ordina");
$prime3 = array_slice($array,0,3);
var_dump($prime3);
?>
grazie mille funziona proprio come volevoOriginariamente inviato da nicola75ss
Codice PHP:
<?php
$stringa = "La mamma preparava i biscotti per capuccetto rosso";
$array = explode(" ",$stringa);
function ordina ( $a, $b ) {
if (strlen( $a ) == strlen( $b )) return 0;
return ( strlen( $a ) > strlen( $b ) ) ? -1 : 1;
}
usort($array,"ordina");
$prime3 = array_slice($array,0,3);
var_dump($prime3);
?>