14.3 C
Roma
mercoledì, Maggio 12, 2021
Home Corsi Controllare se una frase è palindroma in PHP - strrev

Controllare se una frase è palindroma in PHP – strrev

Ok, scrivere una stringa al contrario non sarà la funzione che utilizzerai maggiormente in PHP, tuttavia può tornarti utile, come? Immagina di creare una web-app che controlli se la frase inserita sia palindroma o meno, come fai a controllarlo? Puoi procedere in due modi o fai un ciclo che inverte lettera per lettera la stringa e poi effettua un controllo di uguaglianza oppure utilizzi la funzione strrev().

La funzione strrev, riduttivo di “String Reverse”, è sicuramente l’approccio più veloce e semplice che potremmo utilizzare. Essa, necessita esclusivamente di un singolo parametro, il testo d’analizzare, quindi la sintassi sarà la seguente:

strrev($string);

STRREV SENZA FORM

Nel nostro caso necessitiamo di una frase che memorizzeremo di Default all’interno della variabile, ma potete tranquillamente acquisirla da un Form, come vedremo successivamente, per generarla dinamicamente. Successivamente alla valorizzazione della variabile, assegniamo ad una seconda variabile il valore inverso della prima. Dopodiché mettiamo a confronto le due variabili ottenute, in base alla condizione inserita concluderemo con un avviso all’utente del risultato del confronto.

<?php

$frase = 'I topi non avevano nipoti';
$fraseReversed = strrev($frase);

if(strtolower(str_replace(" ", "", $frase)) == strtolower(str_replace(" ", "", $fraseReversed)))
    echo 'La frase è palindroma';
else
    echo 'La frase non è palindroma';

Facciamo particolare attenzione alla condizione. Abbiamo rimosso gli spazi tramite la funzione str_replace, in quanto gli spazi renderanno la nostra frase differente. Inoltre abbiamo reso tutto il testo minuscolo con l’ausilio della funzione strtolower, in quanto l’operatore di confronto “=” è case sensitive, quindi per lui sarà differente “L” da “l”.

Se il vostro intento è quello di acquisire la fra tramite form, vi consigliamo di applicare qualche modifica al documento PHP inserendo un include. Fate, molta attenzione all’utilizzo di “if(!empty($_POST[‘frase’]))” questo ci consentirà di far visualizzare il form solo nel momento in cui la non abbiamo un frase da analizzare.

STRREV CON FORM

<?php

if(!empty($_POST['frase']))
{
$frase = $_POST['frase'];
$frase = 'I topi non avevano nipoti';
$fraseReversed = strrev($frase);

if(strtolower(str_replace(" ", "", $frase)) 
        == strtolower(str_replace(" ", "", $fraseReversed)))
    echo 'La frase è palindroma';
else
    echo 'La frase non è palindroma';
}
else
{
    include 'palindromaForm.php.html';
}

Per il form, invece, optiamo per il seguente script:

<!DOCTYPE html>
<html>
    <head>
        <title>Controllo Frasi Palindrome PHP</title>
    </head>
    <body>
        <form action="" method="post">
            <label>Frase: </label>
            <input type="Text" name="frase"/>
            <input type="Submit" value="Invio"/>
        </form>
    </body>
</html>

L’action vuoto ci consente di ritornare alla pagina PHP nel momento in cui viene cliccato il bottone di Submit del form.

LINK UTILI

Altro su PHP: https://www.developersumo.com/category/php/
Corso PHP: http://developersumo.com/php
I nostri corsi: https://www.developersumo.com/corsi/
Pagina Instagram: https://www.instagram.com/developer_sumo/
Le nostre APP: https://play.google.com/store/apps/developer?id=Developer+Sumo&gl=IT

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Cos’è e come fare un Vlog

Se siete abituati ad usare la tecnologia è abbastanza probabile che siate giovani e che passiate molto tempo sui social e se...

Come usare e creare le classi in HTML

L'attributo class è utilizzato per assegnare ad un oggetto HTML una classe. Una delle caratteristiche principali delle classi HTML è che possono...

Lista compleanni personaggi Death Note

Death Note scritto da Tsugumi Ōba e illustrato da Takeshi Obata. È stato serializzato in Giappone dal 1º dicembre 2003 al 15...

Linguaggio di Programmazione di League of Legends

Se sei un appassionato di sviluppo informatico sicuramente ti sarai chiesto quale sia il linguaggi di programmazione di League of Legends. League...

Recent Comments