Articles

Imparare PHP: Concatenare stringhe e variabili in modo efficiente – WPShout

Posted on

Un termine un po’ strano che sentirete usare in PHP: “concatenare”. Ricordo ancora la prima volta che ho sentito questa parola, senza avere la minima idea di cosa significasse. Si è scoperto che si tratta di un compito comune e utile in PHP: unire due stringhe in modo da ottenere una singola stringa o qualcosa che possiamo echeggiare sullo schermo.

Oggi copriremo tutte le aree principali della concatenazione di stringhe in PHP: come farla, perché farla, cos’è l’operatore di concatenazione in PHP, e un po’ dei lati negativi di fare troppo la concatenazione di stringhe in PHP.

Comprendere la concatenazione di stringhe in PHP: Unire due stringhe

Usiamo la “concatenazione di stringhe” per mettere insieme sequenze di caratteri in PHP

Costruiamo molto HTML in PHP. E anche quando non lo stiamo facendo, stiamo spesso elaborando del testo. Per queste ragioni, spesso vogliamo mettere insieme due diversi pozzi, string. (Con questo intendo il tipo specifico di dati, una stringa, al contrario di integer o altri.)

Quindi usiamo la “concatenazione di stringhe” per mettere insieme le cose in PHP. Possiamo usarlo per mettere un numero in una stringa, o ancora più comunemente mettiamo la stringa insieme ad un’altra o ad altre stringhe.

L’operatore di concatenazione PHP: .

L’operatore di concatenazione di stringhe in PHP è un punto. ..

Se avete programmato in altri linguaggi, potreste aver sperimentato l’uso del simbolo + (più) per mettere insieme due (o più) stringhe. È così che funziona la concatenazione di stringhe in JavaScript, per esempio. In PHP, usiamo invece il carattere . (punto, o punto decimale) per realizzare la concatenazione delle stringhe. Quindi quando si mette il punto, ., meglio due diverse stringhe virgolettate, o una variabile e una stringa, o una variabile e una variabile, il risultato sarà una singola stringa che il PHP sarà pronto ad emettere (con echo per esempio) o ad elaborare ulteriormente.

Da quello a cui siete abituati in inglese, l’operatore di concatenazione PHP essendo un . può sembrare strano. Ma vi prometto che una volta che saprete cosa sta succedendo vi abituerete e lo leggerete senza problemi.

Come concatenare stringhe in PHP

Va bene, è ora di diventare concreti. Ecco un po’ di codice che mostra come appare un concatenamento in PHP nella realtà pratica. Ecco tre modi diversi in cui possiamo echo concatenare la stringa “Hello World” in PHP:

echo "Hello World"; // outputs "Hello World"$hello = 'Hello';echo $hello.' World'; // outputs "Hello World"$world = 'World';$hello_world = $hello.' '.$world;echo $hello_world; // outputs "Hello World"

Il codice precedente è stupido: i secondi due esempi sono inutilmente complicati. Ma li manteniamo semplici in modo da poter familiarizzare con i concetti coinvolti.

La primissima linea del nostro esempio di codice è solo un esempio di un uso molto pedestre di echo in PHP per mostrare una stringa. Lo farete quando vorrete far apparire del testo dalla “terra del PHP” nell’HTML delle vostre pagine. Sappiamo che la sequenza "Hello World" è una “stringa” perché è delimitata da doppi (o singoli) apici.

Il nostro prossimo blocco definisce prima una stringa, semplicemente la parola Hello e poi vi aggiunge la stringa World prima di fare l’eco all’output. In PHP, aggiungere una stringa alla stringa è super comune. Lo facciamo per permetterci di definire una parte della sequenza più lontana da dove scegliamo di visualizzarla. (Spesso molto più lontano di quanto non sia in questo esempio.)

Finalmente il nostro ultimo blocco crea due nuove variabili: la parola World e poi la frase Hello World come una singola stringa. Quest’ultimo ci dà quindi un esempio di PHP che unirà le stringhe con un separatore. Nel nostro caso, il separatore è solo uno spazio. Un errore che faccio spesso nel codice PHP è dimenticare lo spazio, ma è un errore facile da correggere. Basta aggiungere una stringa extra di uno spazio (o uno spazio ad un’altra stringa, se preferisci).

Combinare i tuoi poteri PHP: Aggiungere stringhe E Variabili

Nel codice precedente, abbiamo visto chiari esempi di concatenazione di stringhe in PHP. Ma possiamo usare PHP per combinare altri tipi di variabili con le stringhe, entro certi limiti. Questi limiti: non possiamo fare concatenazioni con tipi di dati complessi come oggetti o array in stringhe senza lavoro extra.

Ma i tipi di dati “più semplici” di PHP come interi e float (genericamente, numeri) sono una cosa super comune da vedere concatenati in PHP. Sembrerà qualcosa come:

$percentage = 12.1 + 9 + 41.21;echo 'Your final score: '.$percentage.' out of 100%.'; // outputs "Your final score: 62.31 out of 100%."$integer = 1 + 17;echo $integer.' centimeters in length'; // outputs "18 centimeters in length"

In entrambi gli esempi, stiamo mettendo il numero (un float nel primo caso, un integer nel secondo) direttamente nella stringa tramite concatenazione. Poiché PHP farà il “gioco dei tipi” per noi per trasformare quel numero in una stringa, siamo in grado di farlo rapidamente e con facilità. In PHP, aggiungere alle stringhe con la concatenazione è facile per i tipi base con ovvie versioni di stringa.

PHP Interpolazione di stringhe? Usare le virgolette singole o doppie?

Quindi una cosa che uso raramente, ma che è molto buona da capire è l’interpolazione delle stringhe in PHP. Quello che intendo (come la maggior parte delle persone che potrebbero dirlo) con “interpolazione di stringa” è dove si incorpora effettivamente un $variable in una stringa in PHP, e viene sostituito immediatamente dal valore sottostante del $variable. Quindi sarebbe qualcosa come:

$number = 4;echo "She has $number cars in her garage."; // outputs "She has 4 cars in her garage."echo "She has {$number} cars in her garage."; // outputs "She has 4 cars in her garage."

Alcune cose importanti su quanto sopra. Primo: entrambe le dichiarazioni echo porteranno all’output di “Ha 4 auto nel suo garage”. Secondo: sappiamo quindi che gli avvolgenti {} non mostrano. In terzo luogo, è fondamentale che entrambe le dichiarazioni e le stringhe di cui sopra stiano usando le doppie virgolette: " e non le virgolette singole '. In PHP, dovete far corrispondere il carattere di apertura e di chiusura delle virgolette per le vostre stringhe.

Inoltre, potete, quando usate i doppi apici, permettere al motore PHP di interpolare la variabile al suo interno. Quindi potremmo ottenere la stessa cosa con le virgolette singole solo se facessimo:

$number = 4;echo 'She has '.$number.' cars in her garage.'; // outputs "She has 4 cars in her garage."

Qui stiamo usando l’operatore concatenato di PHP, . di nuovo, piuttosto che affidarci all’interpolazione delle stringhe di PHP. C’è del buono e del cattivo in entrambe queste opzioni. E tutte e tre funzionano bene. Il sovraccarico di prestazioni dell’uso dell’interpolazione delle stringhe su stringhe con doppie virgolette è abbastanza piccolo che non penso che dovreste preoccuparvene. Ma sentirete la gente sottolineare il fatto (vero) che il terzo esempio in questa sezione è (molto marginalmente) più veloce.

Una stranezza: .= è un’assegnazione di concatenazione composta in PHP

Infine, vedrete questo usato a volte, ed è molto rilevante per l’argomento. Puoi usare la combinazione di un . e un = sia come assegnazione che come concatenazione. Per capire meglio, rivisitiamo questo esempio di prima:

$hello = 'Hello';$world = 'World';$hello_world = $hello.' '.$world;echo $hello_world; // outputs "Hello World"

Non ho cambiato nulla del codice precedente. Ma si potrebbe scrivere in PHP per unire due stringhe in un modo molto diverso. E’ così:

$output = 'Hello';$output .= ' ';$output .= 'World';echo $output; // outputs "Hello World"

Quindi ciò che fa è concatenare alla fine della nostra stringa $output lo spazio (), e poi la parola World. Quindi il risultato è che otteniamo lo stesso identico output. Quindi effettivamente ogni volta che vedete .= è lo stesso di $output = $output.$new_thing; o simile. Che questo esempio vi piaccia o meno è una questione di gusto personale. Ma leggendo il codice di altre persone sono sicuro che vedrete la gente usarlo di tanto in tanto, quindi è bene capire questo aspetto della concatenazione in PHP.

Ora vai a concatenare le tue stringhe, pensandoci bene

Prima di chiudere, un breve avvertimento: imparare il potere di “concatenare” le stringhe con PHP è importante e molto prezioso. Ma spesso è anche un segno che stai facendo cose meno efficienti di quanto dovresti. I template (file che contengono solo il vostro HTML + variabili già organizzate) sono spesso una soluzione migliore per la maggior parte delle cose che state facendo rispetto al semplice sbattere insieme un sacco di stringhe di sequenze HTML e variabili all’interno di un file WordPress functions.php.

Detto questo, la concatenazione in PHP è una cosa divertente e importante da padroneggiare. Anche se penso che debba essere usata con parsimonia, dirò anche che nei circa dieci anni in cui ho scritto in PHP non c’è mai stata una sola settimana in cui non ho usato i poteri della concatenazione di stringhe in PHP. Buona fortuna!

Lascia un commento

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