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 ?>
Convertire stringhe in date in php: strings php to date()
La funzione date() in PHP è un’importante funzione di built-in che consente di ottenere la data corrente o formattare una data specifica secondo il formato desiderato. È ampiamente utilizzata per gestire le operazioni relative alle date all’interno delle applicazioni PHP.
La sintassi di base della funzione `date()` è la seguente:
string date(string $formato [, int $timestamp = time() ])
– Il parametro `$formato` specifica il formato desiderato per la data. Questo formato è una stringa che può contenere caratteri speciali o simboli di formattazione, come “d” per il giorno, “m” per il mese e “Y” per l’anno.
– Il parametro opzionale `$timestamp` rappresenta il valore temporale su cui eseguire la formattazione. Se omesso, viene utilizzato il timestamp corrente, ottenuto dalla funzione `time()`.
Ecco alcuni esempi di utilizzo della funzione date():
// Ottenere la data corrente nel formato "d/m/Y" $dataCorrente = date("d/m/Y"); echo $dataCorrente; // Output: 06/06/2023 // Ottenere l'ora corrente nel formato "H:i:s" $oraCorrente = date("H:i:s"); echo $oraCorrente; // Output: 10:30:45
La funzione `date()` è estremamente flessibile e permette di specificare una vasta gamma di formati per ottenere la rappresentazione desiderata della data.
Per quanto riguarda la conversione di una stringa in una data, PHP offre la funzione `strtotime()`, che converte una stringa in un timestamp UNIX. Questo timestamp può quindi essere utilizzato con la funzione `date()` per formattare la data come desiderato. Ad esempio:
$stringaData = "2023-06-06"; $timestamp = strtotime($stringaData); $dataFormattata = date("d/m/Y", $timestamp); echo $dataFormattata; // Output: 06/06/2023
In questo esempio, la stringa “2023-06-06” viene convertita in un timestamp utilizzando la funzione `strtotime()`. Successivamente, il timestamp viene passato alla funzione `date()` per ottenere la rappresentazione formattata della data nel formato “d/m/Y”.
Utilizzando la combinazione delle funzioni `strtotime()` e `date()`, è possibile convertire facilmente una stringa in una data e formattarla secondo le esigenze specifiche del progetto. Ciò offre un’ampia flessibilità nella gestione delle operazioni relative alle date all’interno delle applicazioni PHP.