Funzioni stringhe in PHP
Lezione 10 / 24

php sviluppatore php
Negli articoli precedenti di questa guida, ci siamo occupati delle cosiddette user function, ovvero quelle funzioni create manualmente dallo sviluppatore web.
Riteniamo opportuno, tuttavia, al fine di imparare php nel migliore dei modi, esplorare anche l’universo delle funzioni di built-in, ovvero, come già detto, delle funzioni natie del linguaggio php.
Per facilitarne l’apprendimento suddivideremo le funzioni di built-in in funzioni per lavorare con le stringhe, funzioni per lavorare con i numeri e funzioni per lavorare con gli array. Naturalmente - gli sviluppatori php lo sanno bene - le funzioni di built-in sono svariate e assai numerose. In questa sede, analizzeremo le principali.
Che cos'è una stringa in PHP
Se ricordi una delle lezioni php precedenti, in cui avevamo analizzato i tipi di dati in php, saprai senz’altro cos’è una stringa.
Per comodità andiamo velocemente a ribadirlo: una stringa è una sequenza di lettere, numeri, caratteri speciali e valori aritmetici o una loro combinazione. Il modo più semplice per creare una stringa è racchiudere il contenuto della stringa (cioè i caratteri della stringa) tra virgolette singole ('), come in questo caso:
$my_string = 'Hello World';
È possibile utilizzare anche le virgolette doppie ("). Tuttavia, le virgolette singole e quelle doppie funzionano in modo diverso. Le stringhe racchiuse tra virgolette singole sono trattate sempre come una stringa, mentre le stringhe delimitate da virgolette doppie permettono l’interpolazione delle variabili, ovvero, le variabili vengono sostituite con le rappresentazioni in stringa dei loro valori e interpretano in modo speciale alcune sequenze di escape.
<?php
$name = “Mario”;
$greet = “Piacere di conoscerti $name”
echo $greet // Piacere di conoscerti Mario
?>
Le sostituzioni delle sequenze di escape sono:
\n o \r crea una nuova linea
\t è sostituito dal carattere di tab o tabulazione
\$ è sostituito dal segno del dollaro ($)
\" è sostituito da un singolo doppio apice (")
\\ è sostituito da una singola barra rovesciata (\).
Ecco un esempio per chiarire le differenze tra stringhe con virgolette singole e doppie:
<?php
$str = 'World';
echo "Hello, $str!"; // Mostra: Hello World!
echo 'Hello, $str!'; // Mostra: Hello, $my_str!
echo 'Hello\tWorld!'; // Mostra: Hello\tWorld!
echo "Hello\tWorld!"; // Mostra: Hello World!
echo 'I\'ll be back'; // Mostra: I'll be back
?>
Manipolazione delle stringhe in PHP
PHP fornisce molte funzioni integrate per la manipolazione delle stringhe, come il calcolo della lunghezza di una stringa, la ricerca di sottostringhe o caratteri, la sostituzione di parte di una stringa con caratteri diversi, la scomposizione di una stringa e molte altre. Andiamo ad analizzarne alcune.
Calcolo della lunghezza di una stringa: php strlen()
La funzione strlen() serve a calcolare il numero di caratteri all'interno di una stringa. Include anche gli spazi vuoti all'interno della stringa.
<?php
$str = 'PHP è bellissimo';
// Output: 17
echo strlen($str);
?>
Attenzione, però! In realtà, se andassimo effettivamente a contare i caratteri in questione scopriremmo che sono 16 e non 17. Com'è possibile, allora, che php ci dica che la stringa è formata da 17 caratteri?
Questo accade perché la funzione “strlen” non conta letteralmente i caratteri, ma i byte che la stringa occupa in memoria e nel nostro caso specifico abbiamo un carattere speciale ovvero “è” che occupa 2 byte.
Per risolvere questo inconveniente molte funzioni di php hanno una controparte che inizia con mb_* che opera sulle stringe multibyte.
<?php
$str = 'PHP è bellissimo';
// Output: 17
echo strlen($str);
// Output: 16
echo mb_strlen($str);
?>
Conteggio del numero di parole in una stringa: php str_word_count()
La funzione str_word_count() conta il numero di parole in una stringa.
<?php
$str = 'come contare le parole in una stringa PHP';
// Output: 8
echo str_word_count($str);
?>
Inversione di una stringa: php strrev()
La funzione strrev() inverte una stringa.
<?php
$str = 'invertire stringa PHP';
// Output: ‘PHP agnirst eritrevni’
echo strrev($str);
?>
Sostituzione di testo all'interno di stringhe: php str_replace()
La funzione str_replace() sostituisce tutte le occorrenze del testo cercato all'interno della stringa di destinazione.
<?php
$str = ‘lezioni PHP';
// Output: ‘corso PHP’
echo str_replace(‘lezioni’ , ‘corso’ , $str);
?>
Estrarre parte di una stringa: php substr()
La funzione substr() consente di estrarre una porzione di stringa, partendo da una specifica posizione.
<?php
$str = "io amo PHP";
echo substr($str, 3, 3); // amo
echo substr($str, 7, 3); // PHP
echo substr($str, -3); // PHP
?>
Cercare una parola all'interno di una stringa: php strpos()
Capita spesso di voler verificare se una stringa contiene una specifica parola. In questi casi PHP mette a disposizione la funzione strpos() che restituisce la posizione della prima occorrenza della parola cercata, altrimenti false.
<?php
$str = "come imparare PHP";
// Output : 7
echo strpos($str , ‘PHP’);
// Output : false
echo strpos($str , ‘Javascript’);
?>
Trasformare una stringa in un Array: php explode()
Possiamo suddividere una stringa in un array dividendo la stringa in base a un carattere passato alla funzione php explode
<?php
$str = "Trasforma stringa in array PHP";
$array= explode(" ", $str);
print_r($parts);
?>
/* Output
Array
(
[0] => "trasforma"
[1] => "stringa"
[2] => "in"
[3] => “array”
[4] => “PHP”
)
*/
Converti i caratteri in maiuscolo o minuscolo: php strtoupper() e php strtolower()
Le funzioni strtoupper() e strtolower() convertono i caratteri di una determinata stringa rispettivamente in maiuscolo e minuscolo.
<?php
$str = "convertire i caratteri in maiuscolo o minuscolo";
echo strtolower($str); // convertire i caratteri in maiuscolo o minuscolo
echo strtoupper($str); // CONVERTIRE I CARATTERI IN MAIUSCOLO O MINUSCOLO
?>
Precedente
9 Parametro di default..Successivo
11 Funzioni numeriche i..Le nostre guide possono essere molto utili per muovere i primi passi nel mondo della programmazione, ma se vuoi iniziare una nuova carriera in ambito digital & tech con il supporto costante dei docenti e tantissime esercitazioni pratiche, ti consigliamo di frequentare uno dei corsi della nostra Hackademy!
Scopri i corsi