Stringhe - Tipi di dati in PHP

Stringhe - Tipi di dati in PHP

In PHP, le stringhe sono sequenze di byte e sono utilizzate per rappresentare del testo.

Una stringa è una sequenza di caratteri racchiusa all'interno degli apici, che possono essere sia singoli che doppi; ci sono alcune differenze tra l'utilizzo di apici singoli (') e apici doppi (""), vediamoli:

  • Stringhe con apici singoli: sono considerate più veloci da elaborare, perché PHP non deve fare alcuna elaborazione all'interno della stringa
  • Stringhe con gli apici doppi: consentono di utilizzare i caratteri di escape, come ad esempio il carattere di nuova riga (\n) o il carattere di tabulazione (\t), e di inserire delle variabili all'interno della stringa usando il seguito di sintassi {$variabile}

Sintassi delle stringhe in php:

<?php
//differenza tra apici singoli e apici doppi
$nome = 'Donato';
echo "Ciao da $nome"; // output : Ciao da Donato
echo 'Ciao da $nome'; // output : Ciao da $nome
echo 'Ciao da ' . $nome ; // output : Ciao da Donato
?>

Caratteri Escape nelle stringhe

I caratteri di escape sono caratteri speciali che vengono interpretati in modo speciale da PHP all'interno delle stringhe. Ad esempio, il carattere di nuova riga (\n) viene interpretato come una nuova riga, mentre il carattere di tabulazione (\t) viene interpretato come una tabulazione.

// escape per apici : backslash \
echo 'L\'arte dell\'ape Maia è "rubare" il nettare dalle altre api';
echo "L'arte dell'ape Maia è \"rubare\" il nettare dalle altre api";
// escape per "a capo" con apici doppi
echo "L'arte dell'ape Maia \n è rubare il nettare delle altre api";

Heredoc e Newdoc

Heredoc e Nowdoc sono due tipi di stringa in PHP che ti consentono di definire stringhe su più righe senza dover utilizzare il caratteri di escape.

Heredoc

Heredoc è una stringa che inizia con il token di apertura <<< seguito da un identificatore, che deve essere una parola chiave non riservata che useremo sia per l'apertura che per la chiusura. Con Heredoc inoltre viene effettuato il parsing delle variabili Ad esempio:

// heredoc
$numero = 100;
$stringaHeredoc = <<<STRINGA
il numero $numero
è un numero "pari"
ed è composto da 'tre cifre'
STRINGA;

echo $stringaHeredoc 
/* output :
il numero 100
è un numero "pari"
ed è composto da 'tre cifre'
*/

Nowdoc

Nowdoc è simile a Heredoc, ma viene interpretata come una stringa letterale, cioè le variabili all'interno della stringa non vengono sostituite con i loro valori, ma vengono trattate come testo. Nowdoc inizia con il token di apertura <<<' seguito da un identificatore e termina con l'identificatore seguito dal token di chiusura ';.

// nowdoc
$numero = 100;
$stringaHeredoc = <<<'STRINGA'
il numero $numero
è un numero "pari"
ed è composto da 'tre cifre'
'STRINGA';

echo $stringaHeredoc 
/* output :
il numero $numero2
è un numero "pari"
ed è composto da 'tre cifre'
*/

Funzioni sulle stringhe

Vediamo alcune funzioni native di PHP:

Echo e Print

Echo e Print non sono funzioni ma sono costrutti ed entrambi mandano in output quello che vogliamo mandare in output, la differenza principale è:

  • print: con print non possiamo mandare in output più valori;
  • echo: con echo possiamo mandare in input più valori;
// print
print 10, "Donato"; //output : Parse error: syntax error, unexpected token ","
// echo
echo 10, "Donato"; //output : 10Donato

Le funzioni Implode ed Explode

implode e explode sono due funzioni in PHP che ti consentono di lavorare con array di stringhe.

implode()

implode prende come argomenti un array di stringhe e un carattere di separazione, e restituisce una stringa formata dalle stringhe dell'array separate dal carattere di separazione. Ad esempio:

// implode: Creiamo una stringa partendo da un Array
$array = ['Ciao','Sono','Donato'];
$crea_stringa = implode(" ",$array);

echo($crea_stringa); // output: Ciao Sono Donato

explode()

explode, invece, prende come argomenti una stringa e un carattere di separazione, e restituisce un array di stringhe ottenuto dividendo la stringa in base al carattere di separazione. Ad esempio:

// explode : crea un array da una stringa, scegliendo un separatore
$stringa_testo = "Sono Donato";
$crea_array = explode(" ",$stringa_testo);

var_dump($crea_array); /* output: 
array(2) {
  [0]=>
  string(4) "Sono"
  [1]=>
  string(6) "Donato"
}
*/

La funzione Addslashes()

La funzione addslashes in PHP è utilizzata per aggiungere gli slash di escape ad alcuni caratteri speciali in una stringa, in modo che possano essere utilizzati all'interno di una query SQL o in altri contesti in cui potrebbero essere interpretati in modo errato. Viene spesso utilizzata prima di inserire un valore all'interno di un database per evitare che il database subisca un attacco SQL injection (non è il modo più sicuro)

//addsleshes 
$user = "Samanta D'Amelio";
echo addslashes($user); //output : Samanta D\'Amelio

La funzione Str_contains() - PHP8

Con la funzione str_contains() è possibile verificare se una stringa contiene un'altra stringa. Esso ritorna un valore booleano.
Ad esempio se vogliamo vedere se all'interno della stringa c'è la scritta Zio Paperone, possiamo usare str_contains(), come nell'esempio sottostante

// str_contains (PHP8)
$stringa_lorem = "vivamus arcu felis bibendum ut Zio Paperone et egestas quis ipsum suspendisse ultrices gravida dictum fusce ut placerat orci nulla pellentesque";

var_dump(str_contains($stringa_lorem, "Zio Paperone")); // output: (true)

La funzione str_starts_with() - PHP8

Con la funzione str_starts_with() è possibile verificare se all'inizio di una stringa ci sono i caratteri che vogliamo cercare. Esso ritorna un valore booleano.
Ad esempio se vogliamo vedere se all'inizio della stringa c'è la scritta Mario, possiamo usare str_contains(), come nell'esempio sottostante

// str_starts_with (PHP8)
$stringa_example1 = "Mariottide è un forsennato";
var_dump(str_starts_with($stringa_example1, "Mario")); // output: (true)

La funzione str_ends_with() - PHP8

Con la funzione str_ends_with() è possibile verificare se alla fine di una stringa ci sono i caratteri che vogliamo cercare. Esso ritorna un valore booleano.
Ad esempio se vogliamo vedere se all'interno della stringa c'è la scritta Zio Paperone, possiamo usare str_contains(), come nell'esempio sottostante

// str_ends_with (PHP8)
$stringa_example2 = "a caval Donato non si guarda in bocca";
var_dump(str_ends_with($stringa_example2, "bocca")); // output: (true)

Le funzioni trim, rtrim, ltrim

Le funzioni trim, rtrim e ltrim in PHP sono utilizzate per rimuovere gli spazi vuoti (o altri caratteri specificati) dall'inizio o dalla fine di una stringa.

  • La funzione trim rimuove gli spazi vuoti (o altri caratteri specificati) sia dall'inizio che dalla fine della stringa.
  • La funzione ltrim rimuove gli spazi vuoti (o altri caratteri specificati) solo dall'inizio della stringa.
  • La funzione rtrim rimuove gli spazi vuoti (o altri caratteri specificati) solo dalla fine della stringa.

Ecco alcuni esempi di utilizzo delle tre funzioni:

// trim, ltrim, rtrim
$path = '/localhost/users/';

// trim : rimozione inizio e fine
echo trim($path,'/'); // output : localhost/users

// ltrim : rimozione solo all'inizio
echo ltrim($path,'/'); // output : localhost/users/

// rtrim : rimozione solo alla fine
echo rtrim($path, '/'); // output : /localhost/users

Le funzioni lcfirst, ucfirst ed ucwords

Le funzioni lcfirst, ucfirst e ucwords in PHP sono utilizzate per modificare il case (maiuscole o minuscole) delle singole lettere o delle parole all'interno di una stringa.

  • La funzione lcfirst converte il primo carattere di una stringa in minuscolo
  • La funzione ucfirst converte il primo carattere di una stringa in maiuscolo
  • La funzione ucwords converte il primo carattere di ogni parola di una stringa in maiuscolo.

Ecco alcuni esempi di utilizzo delle tre funzioni:

// lcfirst, ucfirst, ucwords
$stringa_example3 = 'Ciao mondo';

// lcfirst: Primo carattere minuscolo
echo lcfirst($stringa_example3); // output : ciao mondo

// ucfirst: Primo carattere maiuscolo
echo ucfirst($stringa_example3); // output : Ciao mondo

// ucwords: Primo carattere di ogni parola maiuscolo
echo ucwords($stringa_example3); // output : Ciao Mondo

Le funzioni strtolower, strtoupper

Le funzioni strtolower e strtoupper in PHP sono utilizzate per convertire una stringa in maiuscole o minuscole.

  • La funzione strtolower converte tutti i caratteri di una stringa in minuscolo;
  • La funzione strtoupper converte tutti i caratteri di una stringa in maiuscolo;

Ecco alcuni esempi di utilizzo delle due funzioni:

// strtolower , strtoupper
$stringa_example4 = 'questa è una stringa di testo';

// strtolower: caratteri in minuscolo
echo strtolower($stringa_example3); // output: questa è una stringa di testo

// strtoupper: caratteri in maiuscolo
echo strtoupper($stringa_example3); // output: QUESTA è UNA STRINGA DI TESTO
echo mb_strtoupper($stringa_example3); // output: QUESTA È UNA STRINGA DI T
ESTO 

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2022
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram