Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile
Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile

Guide per aspiranti programmatori

Lezione 11 / 26

Funzioni stringhe in 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
?>

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.

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.