- Fabio Cantaro
Transcript
- Fabio Cantaro
UD7: Operazioni sulle
Stringhe
Fabio Cantaro
Fabio Cantaro
Ripasso (1)
Le Stringhe
Le stringhe sono il tipo di dato più
importante in PHP.
Sono sequenze di caratteri
Le stringhe possono contenere intere frasi e
vengono definite utilizzando virgolette doppie
o singole.
Esempio:
$citta = “Catania”;
$username = “Lisa”;
Fabio Cantaro
Ripasso (2)
Le Stringhe
• Le stringhe possono essere concatenate
utilizzando il simbolo punto “.”
Esempio:
<?php
$Nome = “Mario”;
$Cognome = “Rossi”;
$Nome_completo = $Cognome
echo $Nome_completo;
?>
Mario Rossi
. “ “ . $Nome;
Fabio Cantaro
Ripasso (3)
Le Stringhe
Nelle stringhe possono anche essere inseriti i
valori delle
variabili.
Se si inserisce un nome di variabile in una
stringa,
questo viene sostituito con il suo valore
Esempio:
$Nome = “Lisa”;
$Saluto = “Ciao $Nome !”;
echo $Saluto;
Ciao Lisa
Fabio Cantaro
Ripasso (4)
Le Stringhe
È possibile convertire un numero in stringa e
viceversa utilizzando una operazione di cast.
Un cast si effettua scrivendo tra parentesi
tonde prima della variabile, il tipo in cui si
vuole trasformarla:
Esempio:
$Anno = “Anno “ . (string)$year;
$Quantita = (integer)$Qty;
Raramente il casting è necessario. Nella
conversione verso numeri può produrre
risultati errati.
Fabio Cantaro
Operazioni sulle Stringhe: chop()
Elimina gli spazi vuoti finali dalla stringa indicata.
Valore di ritorno: Stringa
Sintassi:
chop(string)
Esempio:
<?
echo chop("vorrei togliere gli spazi finali
?>
");
Fabio Cantaro
Operazioni sulle Stringhe: chunk_split()
Suddivide la stringa in porzioni di length caratteri.
Inserendo la stringa end come delimitatore tra ogni
porzione.
Sintassi:
chunk_split()
Esempio:
<?
echo chunk_split(“pinopenapanepone ”, 4, ”#\n”);
?>
pino# pena# pane# pone#
Fabio Cantaro
Operazioni sulle Stringhe: ltrim()
Elimina gli spazi vuoti all’inizio della stringa
specificata.
Valore di ritorno: string
Sintassi:
ltrim(string)
Esempio:
<?
echo ltrim(“
?>
Hello, World!”);
Fabio Cantaro
Operazioni sulle Stringhe: trim()
Elimina gli spazi vuoti all’inizio ed alla fine della stringa
specificata.
Valore di ritorno: string
Sintassi:
trim(string)
Esempio:
<?
echo trim(“
?>
Hello, World!
”);
Fabio Cantaro
Operazioni sulle Stringhe: ucfirst()
Converte in maiuscolo il primo carattere di
string.
Valore di ritorno: string
Sintassi:
ucfirst()
Esempio:
<?
echo ucfirst(“hello, world!”);
?>
Hello, world!
Fabio Cantaro
Operazioni sulle Stringhe: ucwords()
Converte in maiuscolo il primo carattere di ogni parola
di string.
Valore di ritorno: string
Sintassi:
ucwords()
Esempio:
<?
echo ucwords (“hello, world!”);
?>
Hello, World!
Fabio Cantaro
Operazioni sulle Stringhe: substr_replace()
Sostituisce in STRING, a partire da START, per LEN
caratteri (opzionale), con la stringa REPL
Sintassi:
substr_replace(string, repl, start [,len])
Esempio:
<?
echo substr_replace("Hello!, World!","GoodBye,", 0, 8);
?>
GoodBye,World!
Fabio Cantaro
Esempio 2
Se ometto il parametro opzionale LEN => STRING viene
interamente sostituita:
<?
echo substr_replace("Hello!, World!","GoodBye,", 0);
?>
GoodBye,
Fabio Cantaro
Esempio 3: INSERT
Se pongo LEN=0 => la substr_replace diventa una INSERT
<?
echo substr_replace("Hello!, World!","GoodBye,", 0,0);
?>
GoodBye,Hello!, World!
GOODBYE ha sostituito 0 caratteri => è stata interamente
inserita all’inizio
OSS: cambiando START la posso inserire ovunque in STRING
Fabio Cantaro
Operazioni sulle Stringhe:
substr()
Restituisce len caratteri da string, partendo dalla
posizione start.
Sintassi:
substr(string, start [,len])
Esempio:
<?
echo substr ("Hello!, World!", 0, 6);
?>
Hello!
Fabio Cantaro
Esempi:
substr()
Si rammenta che nel computo il primo carattere ha posizione 0 e non 1
<?php
// stamperà "html.it" la porzione
// dalla posizione 7 alla fine
echo substr("Visita html.it",7);
// stamperà "html" partendo dalla
// posizione 7 per 4 caratteri di lunghezza
echo substr("Visita html.it",7,4);
?>
Fabio Cantaro
Esempi:
substr()
Se come punto di partenza si specifica un valore negativo, si pa rtirà a
ritroso dalla fine della stringa:
<?php
// stamperà "t"
echo substr("Visita html.it",-1);
// stamperà "it"
echo substr("Visita html.it",-2);
// stamperà "html"
echo substr("Visita html.it",-7,4);
?>
Fabio Cantaro
Operazioni sulle Stringhe: strtoupper
Converte la stringa specificata in caratteri MAIUSCOLI.
Valore di ritorno: string
Sintassi:
strtoupper(string)
Esempio:
<?
echo strtoupper("Hello, World!");
?>
HELLO, WORLD!
Fabio Cantaro
Operazioni sulle Stringhe: strtolower()
Converte la stringa specificata in caratteri minuscoli.
Valore di ritorno: string
Sintassi:
strtolower(string)
Esempio:
<?
echo strtolower("Hello, World!");
?>
hello, world!
Fabio Cantaro
Operazioni sulle Stringhe: strlen()
Restituisce la lunghezza della stringa specificata.
Valore di ritorno: Integer
Sintassi:
strlen(string)
Esempio:
<?
echo strlen("Hello, World!");
?>
13
Fabio Cantaro
Esercizio
Creare un form HTML ( cliente.htm) con i campi:
Cognome, Nome, Indirizzo, Cap, Citta, genere
(maschio/femmina )
Creare uno script php (cliente.php) in cui:
1.
2.
Cognome e nome siano stampati a video sempre con il 1 °
carattere maiuscolo e gli altri minuscoli (=> strtolower + ucwords )
Se maschio inserire, in cognome, “SIG” altrimenti “SIG.RA”
Le parole del campo indirizzo siano separate dal carattere @
Fare stampare a video anche la lunghezza di ogni campo (ad
esempio: cognome: Cantaro (7) ).