- 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) ).