w3schools

PHP Basic – Lez.10 < Arrays >

Un array memorizza valori multipli in una singola variabile:

Esempio

<?php
 $cars=array("Volvo","BMW","Toyota");
 echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

Cos’è un array ?

Un array è una speciale variabile che può contenere più di una variabile alla volta (sotto quindi un singolo nome), a cui è possibile accedere utilizzando un indice numerico.

Creare un array

In PHP, la funzione array() è usata per creare un array.

Abbiamo tre tipi di arrays:

  • Arrays indicizzati – Arrays con indice numerico
  • Array associativi – Arrays con chiave nominativa
  • Array Multidimensionali – Arrays contenenti uno o più arrays

Indexed Arrays

Ci sono due modi per creare array indicizzati:

L’indice può essere assegnato automaticamente (parte sempre da 0):

$cars=array(“Volvo”,”BMW”,”Toyota”);

o assegnato manualmente:

$cars[0]=”Volvo”;
$cars[1]=”BMW”;
$cars[2]=”Toyota”;

Esempio

<?php
 $cars=array("Volvo","BMW","Toyota");
 echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

Ottenere la lunghezza di un array

La funzione count() è usata per ritornare la lunghezza (il numero di elementi) di un array:

Esempio

<?php
 $cars=array("Volvo","BMW","Toyota");
 echo count($cars);
?>

Ciclo di un Indexed Array

Per ciclare e visualizzare tutti i valori di un array indicizzato, si può usare un for in questo modo:

Esempio

<?php
 $cars=array("Volvo","BMW","Toyota");
 $arrlength=count($cars);
 
 for($x=0;$x<$arrlength;$x++)
 {
  echo $cars[$x];
  echo "<br>";
 }
?>

Arrays associativi

Gli arrays associativi sono arrays che usano chiavi nominali assegnabili liberamente.

Ci sono due modi per creare un array associativo:

  • $age=array(“Peter”=>”35″,”Ben”=>”37″,”Joe”=>”43”);
  • $age[‘Peter’]=”35″;
    $age[‘Ben’]=”37″;
    $age[‘Joe’]=”43″;

Esempio

<?php
 $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
 echo "Peter is " . $age['Peter'] . " years old.";
?>

Ciclo di un Array Associativo

Per ciclare e visualizzare tutti i valori di un array associativo, può essere utilizzato un foreach in questo modo:

Esempio

<?php
 $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
 
 foreach($age as $x=>$x_value)
 {
  echo "Key=" . $x . ", Value=" . $x_value;
  echo "<br>";
 }
?>

Array Multidimensionali

Multidimensional arrays will be explained in the PHP advanced section.

PHP Basic – Lez.9 < Funzioni >

PHP User Defined Functions

Oltre alle funzioni interne di PHP, possiamo creare le nostre funzioni personalizzate.

Una funzione è un blocco di istruzioni che possono essere usate ripetutamente in un programma.

Una funzione non sarà eseguita immediatamente al caricamento della pagina, ma solo se richiamata.

Create a User Defined Function in PHP

La dichiarazione di una funzione comincia con la parola “function”:
Sintassi

function functionName()
{
 code da eseguire;
}

(Ricorda: i nomi delle funzioni sono case-insensitive.)

Per richiamare la funzione, basta scrivere il suo nome.

Esempio

<?php
 function writeMsg()
 {
  echo "Hello world!";
 }
 
 writeMsg(); // call the function
?>

Argomenti della funzione

Informazioni che possono essere passate alla funzione attraverso argomenti. Un argomento è come una variabile.

Gli argomenti sono specificati dopo il nome della funzione, tra parentesi. Se ne possono aggiungere quanti necessari, separati da una virgola.

Esempio

<?php
 function familyName($fname,$year)
 {
  echo "$fname Refsnes. Born in $year <br>";
 }
 
 familyName("Hege","1975");
 familyName("Stle","1978");
 familyName("Kai Jim","1983");
?>

Valore di dafualt di un argomento

Esempio

<?php
 function setHeight($minheight=50)
 {
  echo "The height is : $minheight <br>";
 }
 
 setHeight(350);
 setHeight(); // will use the default value of 50
 setHeight(135);
 setHeight(80);
?>

Valori di ritorno

Per consentire ad una funzione di restituisce un valore, utilizzare l’istruzione return.

Esempio

<?php
 function sum($x,$y)
 {
  $z=$x+$y;
  return $z;
 }
 
 echo "5 + 10 = " . sum(5,10) . "<br>";
 echo "7 + 13 = " . sum(7,13) . "<br>";
 echo "2 + 4 = " . sum(2,4);
?>

PHP Basic – Lez.8 < Iterazioni >

In PHP, abbiamo le seguenti istruzioni di iterazione:

  • while – cicla il blocco di codice fichè la condizione specificata è vera
  • do…while – esegue il blocco di codice una prima volta, e succesivamente ripete l’esecuzione finchè la condizione specificata è vera
  • for – cicla il blocco di codice un numero specifico di volte
  • foreach – cicla il blocco di codice per ogni elemento di un array

Ciclo while

Sintassi

while (condizione è vera)
{
 code da eseguire;
}

Esempio

<?php
 $x=1;
 while($x<=5)
 {
  echo "The number is: $x <br>";
  $x++;
 }
?>

Ciclo do…while

Sintassi

do
{
 code da eseguire;
}
while (condizione è vera);

Esempio

<?php
 $x=6;
 do
 {
  echo "The number is: $x <br>";
  $x++;
 }
 while ($x<=5)
?>

Ciclo for

Sintassi

for (init counter; test counter; increment counter)
{
 code da eseguire;
}

Parameters:

  • init counter: Inizializza il valore del contatore del ciclo
  • test counter: Controllo. Se la verifica è TRUE, il ciclo continua. Se è FALSE, il ciclo finisce.
  • increment counter: Incrementa il valore del contatore del ciclo

Esempio

<?php
 for ($x=0; $x<=10; $x++)
 {
  echo "The number is: $x <br>";
 }
?>

Ciclo foreach

Sintassi

foreach ($array as $value)
{
 code da eseguire;
}

Ad ogi ciclo, il valore corrente dell’array è assegnato al $value e il puntatore dell’array è spostato di uno, fino a raggiungere l’ultimo elemento dell’array.

Esempio

<?php
 $colors = array("red","green","blue","yellow");
 foreach ($colors as $value)
 {
  echo "$value <br>";
 }
?>

PHP Basic – Lez.7 < Istruzioni Condizionali >

Le istruzioni condizionali sono usate per eseguire differenti azioni in base a differenti condizioni.

In PHP si hanno le seguenti istruzioni condizionali:

  • if – esegue del codice solo se la condizione specificata è vera
  • if…else – esegue del codice se la condizione è vera e un altro codice se invece è falsa
  • if…elseif….else – seleziona uno dei blocchi di codice da eseguire
  • switch – seleziona uno dei blocchi di codice da eseguire

PHP – Istruzione If

Sintassi

if (condizione)
 {
  code da eseguire se la condizione è true;
 }

Esempio

<?php
 $t=date("H");
 if ($t<"20")
  {
   echo "Have a good day!";
  }
?>

PHP – Istruzione if…else

Sintassi

if (condizione)
 {
  code da eseguire se la condizione è true;
 }
else
 {
  code da eseguire se la condizione è false;
 }

Example

<?php
 $t=date("H");
 if ($t<"20")
  {
   echo "Have a good day!";
  }
 else
  {
   echo "Have a good night!";
  }
?>

PHP – Istruzione if…elseif….else

Sintassi

if (condizione)
 {
  code da eseguire se la condizione è true;
 }
elseif (condition)
 {
  code da eseguire se la condizione è true;
 }
else
 {
  code da eseguire se la condizione è false;
 }

Esempio

<?php
 $t=date("H");
 if ($t<"10")
  {
   echo "Have a good morning!";
  }
 elseif ($t<"20")
  {
   echo "Have a good day!";
  }
 else
  {
   echo "Have a good night!";
  }
?>

PHP – Istruzione switch

Sintassi

switch (n)
 {
  case label1:
   codice da eseguire se n=label1;
   break;
  case label2:
   codice da eseguire se n=label2;
   break;
  case label3:
   codice da eseguire se n=label3;
   break;

  default:
   codice da eseguire se n è diverso da tutte le labels;
 }

Ecco come funziona: Inizialmente si ha una singola espressione n (più spesso una variabile), che viene valutata una volta. Il valore dell’espressione è successivamente confrontato con i valori di ogni case nella struttura. Se c’è un riscontro, il blocco di codice associato con il case viene eseguito. Il break serve per far sì che l’esecuzione del codice venga fermata prima del prossimo case. L’istruzione di default è usata se non viene trovato nessun riscontro.

Esempio

<?php
 $favcolor="red";
 switch ($favcolor)
  {
   case "red":
    echo "Your favorite color is red!";
    break;
   case "blue":
    echo "Your favorite color is blue!";
    break;
   case "green":
    echo "Your favorite color is green!";
    break;
   default:
    echo "Your favorite color is neither red, blue, or green!";
  }
?>

PHP Basic – Lez.6 < Operatori >

Operatori Aritmetici

Operatore Nome
+ Addizione
Sottrazione
* Moltiplicazione
/ Divisione
% Modulo

Operatori di assegnazione

Gli operatori di assegnazione sono usati per scrivere un valore in una variabile.

Assegnazione Equivalente a Descrizione
x = y x = y L’operatore di sinistra acquisisce il valore dell’espressione alla destra
x += y x = x + y Addizione
x -= y x = x – y Sottrazione
x *= y x = x * y Moltiplicazione
x /= y x = x / y Divisione
x %= y x = x % y Modulo

Esempio

<?php
 $x=10;
 echo $x; // outputs 10
 
 $y=20;
 $y += 100;
 echo $y; // outputs 120
 
 $z=50;
 $z -= 25;
 echo $z; // outputs 25
 
 $i=5;
 $i *= 6;
 echo $i; // outputs 30
 
 $j=10;
 $j /= 5;
 echo $j; // outputs 2
 
 $k=15;
 $k %= 4;
 echo $k; // outputs 3
?>

Operatori Stringhe

Operatore Nome Esempio Risultato
. Concatenazione $txt1 = “Hello”
$txt2 = $txt1 . ” world!”
Ora $txt2 contiene “Hello world!”
.= Assegnazione concatenazione $txt1 = “Hello”
$txt1 .= ” world!”
Ora $txt1 contiene “Hello world!”

Esempio

<?php
 $a = "Hello";
 $b = $a . " world!";
 echo $b; // outputs Hello world!
 
 $x="Hello";
 $x .= " world!";
 echo $x; // outputs Hello world!
?>

Operatori di Incremento/Decremento

Operatore Nome Descrizione
++$x Pre-incremento Incrementa $x di uno, successivamente ritorna $x
$x++ Post-incremento Ritorna $x, successivamente incrementa $x di uno
–$x Pre-decremento Decrementa $x di uno, successivamente ritorna $x
$x– Post-decremento Ritorna $x, successivamente decrementa $x di uno

Esempio

<?php
 $x=10;
 echo ++$x; // outputs 11
 
 $y=10;
 echo $y++; // outputs 10
 
 $z=5;
 echo --$z; // outputs 4
 
 $i=5;
 echo $i--; // outputs 5
?>

Operatori di comparazione

Gli operatori di comparazione sono usati per confrontare due valori (numeri o stringhe).

Operatore Nome Esempio Risultato
== Uguale $x == $y True se $x è uguale a $y
=== Identico $x === $y True se $x è uguale a $y e sono dello stesso tipo
!= Diverso $x != $y True se $x è diverso da $y
<> Diverso $x <> $y True se $x è diverso da $y
!== Non identici $x !== $y True se $x è diverso da $y, o se non sono dello stesso tipo
> Maggiore di $x > $y True se $x è maggiore di $y
< Minore di $x < $y True se $x è minore di $y
>= Maggiore di o uguale a $x >= $y True se $x è maggiore di o uguale a $y
<= Minore di o uguale a $x <= $y True se $x è minore di o uguale a $y

Esempio

<?php
 $x=100;
 $y="100";
 
 var_dump($x == $y); // true
 echo "<br>";
 var_dump($x === $y); // false
 echo "<br>";
 var_dump($x != $y); // false
 echo "<br>";
 var_dump($x !== $y); // true
 echo "<br>";
 
 $a=50;
 $b=90;
 
 var_dump($a > $b);
 echo "<br>";
 var_dump($a <  $b);
?>

Operatori Logici

Operatore Nome Esempio Risultato
and And $x and $y True se entrambi $x e $y sono true
or Or $x or $y True se $x o $y è true
xor Xor $x xor $y True se $x o $y è true, ma non entrambi
&& And $x && $y True se entrambi $x e $y sono true
|| Or $x || $y True se $x o $y è true
! Not !$x True se $x è false (e viceversa)

Opertori Array

Gli operatori per array sono usati per comparare array.

Operatore Nome Esempio Risultato
+ Unione $x + $y Unione of $x and $y
== Uguaglianza $x == $y True se $x e $y hanno la stessa coppia chiave/valore
=== Identità $x === $y True se $x e $y hanno la stessa coppia chiave/valore nello stesso ordine e dello stesso tipo
!= Disuguaglianza $x != $y True se $x è diverso da $y
<> Disuguaglianza $x <> $y True se $x è diverso da $y
!== Non-identico $x !== $y True se $x è non identico a $y

Esempio

<?php
 $x = array("a" => "red", "b" => "green");
 $y = array("c" => "blue", "d" => "yellow");
 $z = $x + $y; // union of $x and $y
 var_dump($z);
 var_dump($x == $y);
 var_dump($x === $y);
 var_dump($x != $y);
 var_dump($x <> $y);
 var_dump($x !== $y);
?>

PHP Basic – Lez.5 < Costanti >

Le costanti sono come le variabili eccetto che una volta che sono definite non possono essere cambiate.

Una costante è un identificatore (nome) per un semplce valore. Il valore non può cambiare durante l’esecuzione dello script.

Un nome di costante per essere valido deve cominciare con una lettera o underscore (nessun segno $ prima del nome della costante).

Nota: Diversamente dalle variabili, le costanti sono automaticamente impostate come globali per l’intero script.

Per settare una costante, usare la funzione define() – essa prevede tre parametri:

  1. Nome della costante
  2. Valore della costante
  3. Valore true o false che indica rispettivamente se il nome della costante dev’essere case-insensitive (di default è false)

Esempio 1

<?php
 define("GREETING", "Welcome to W3Schools.com!");
 echo GREETING;
?>

Esempio 2

<?php
 define("GREETING", "Welcome to W3Schools.com!", true);
 echo greeting;
?>

PHP Basic – Lez.4 < PHP Data Types >

In PHP abbiamo i seguenti tipi di dato:

  • String (stringhe)
  • Integer (numeri interi)
  • Floating point numbers (numeri decimali)
  • Boolean (booleani)
  • Array
  • Object (Oggetti)
  • NULL

La funzione PHP var_dump() restituisce il data type e il valore delle variabili

PHP Integers

Un intero è un numero senza decimali.

Regole per gli interi:

  • Devono avere almeno una cifra (0-9)
  • Non possono contenere virgole e spazi e il punto decimale
  • Possono essere positivi o negativi
  • Possono essere specificati in tre formati: decimal (10-based), hexadecimal (16-based – viene anteposto 0x) o octal (8-based – viene anteposto 0)

Esempio

<?php
 $x = 5985;
 var_dump($x);
 echo "<br>";
 $x = -345; // negative number
 var_dump($x);
 echo "<br>";
 $x = 0x8C; // hexadecimal number
 var_dump($x);
 echo "<br>";
 $x = 047; // octal number
 var_dump($x);
?>

PHP Booleans

Booleans possono assumere valore TRUE o FALSE.

Esempio

<?php
 $x=true;
 $y=false;
?>

PHP Arrays

Un array memorizza valori multipli in una singola variabile.

Esempio

<?php
 $cars=array("Volvo","BMW","Toyota");
 var_dump($cars);
?>

PHP Objects

Un oggetto è un tipo di dato che fornisce dati e informazioni su come processare quei dati.

In PHP, un oggetto dev’essere dichiarato esplicitamente.

Prima si dichiara una classe di oggetti. Per questo, si usa la keyword “class”. Una classe è una struttura che può contenere proprietà e metodi.

Successivamente si definisce il tipo di dato nella classe dell’oggetto, fatto questo si può istanziare l’oggetto.

Esempio

<?php
 class Car
 {
  var $color;
  function Car($color="green")
  {
   $this->color = $color;
  }
  function what_color()
  {
   return $this->color;
  }
 }
?>

Valore NULL

Il valore speciale NULL indica una variabile senza valore. NULL è il solo possibile valore del tipo di dato NULL.

Il valore NULL riconosce se una variabile è vuota o no. Utile per distinguere tra stringhe vuote e valori nulli di un database.

Una variabile può essere svuotata settando il valore come NULL.

Esempio

<?php
 $x="Hello world!";
 $x=null;
 var_dump($x);
?>

PHP Basic – Lez.3.1 < PHP Variables Scope >

In PHP, le variabili possono essere dichiarate in qualsiasi parte nello script.

La portata di una variabile (scope) è la parte dello script dove la variabile può essere referenziata/usata.

PHP ha tre differenti “variable scopes”:

  • local (locale)
  • global (globale)
  • static (statico)

Local e Global Scope

Una variabile dichiarata fuori una funzione ha un GLOBAL SCOPE e può essere utilizzata solo fuori dalle funzioni.

Una variabile dichiarata all’interno di una funzione ha un LOCAL SCOPE e può essere utilizzata solo all’interno di quella funzione.

Esempio

<?php
 $x = 5;
 function local() {
  $x = 10;
  return $x;
 }
 echo "Variabile globale : $x <br />"; // Output 5
 echo 'Variabile locale : ' . local1() . '<br /><br />'; // Output 10
?>

La keyword “global”

La keyword “global” è usata per accedere ad una variabile globale all’interno di una funzione.

Per fare questo, basta usare tae keyword prima della variabile (dentro la funzione).

Esempio

<?php
 $x = 5;
 function local() {
  global $x;
  $x = 10;
  return $x;
 }
 local();
 echo "Variabile globale modificata da funzione : $x"; //Output 10
?>

La keyword “static”

Normalmente, quando una funzione è completata/eseguita, tutte le sue variabili sono cancellate. Tuttavia, qualche volta potremmo volere che una variabile locale non sia eliminata perchè necessaria per future operazioni.

Per fare questo, basta usare la keyword “static” nel momento in cui si dichiara la variabile.

Esempio

<?php
 
 function myTest()
 {
  static $x=0;
  echo $x;
  $x++;
 }
 
 myTest();
 myTest();
 myTest();
 
?>

Nell’esempio ogni volta che la funzione viene chiamata, la variabile statica conterrà come valore iniziale l’ultima informazione assegnata o elaborata nella chiamata precedente.

PHP Basic – Lez.3 < Variabili >

Regole per le variabili PHP :

  • Una variabile comincia con il simbolo $, seguito dal nome della variabile
  • Il nome di una variabile deve iniziare con una lettera o il carattere underscore
  • Il nome di una variabile non può cominciare con un numero
  • Il nome di una variabile può solo contenere caratteri alpha-numerici e underscores (A-z, 0-9, and _ )
  • I nomi delle variabili sono case sensitive ($y e $Y sono due differenti variabili)

PHP non ha comandi per dichiarare una variabile come nei classici linguaggi di programmazione.

Una variabie è creata nel momento in cui assegni un valore ad essa.

PHP automaticamente converte le variabili nel tipo di dato corretto, in base al suo valore.

In altri linguaggi come C, C++, e Java, il programmatore deve dichiarare il nome e il tipo della variabile prima di poterla utilizzare.

PHP Basic – Lez.2 < Sintassi >

Uno script PHP può essere posizionato ovunque all’interno di un documento, e viene delimitato in esso dalla seguente notazione

<?php
// PHP code va qui
?>

L’estensione di default per i files PHP è “.php”.

Un file PHP normalmente contiene HTML tags insieme a codice PHP.

Esempio

<!DOCTYPE html>
<html>
<body>
 
<h1>My first PHP page</h1>
 
<?php
echo "Hello World!";
?>
 
</body>
</html>

Le istruzioni PHP terminano con punto e virgola (;)

Commenti in PHP

Un commento in codice PHP è una linea che non viene letta nè eseguita, cioè non viene considerata come parte del programma.

PHP supporta tre modi per creare un commento

Esempio

<!DOCTYPE html>
<html>
<body>
 
<?php
// Commento in linea singola
 
# Altro modo per inserire un commento su singola linea

/*
Commento su 
linea multipla
*/
?>
 
</body>
</html>

PHP Case Sensitivity

In PHP, tutte le funzioni definite dall’utente, classi, keywords (e.g. if, else, while, echo, etc.) sono case-insensitive.

Nell’esempio sottostante, tutte e tre le istruzioni sono corrette

<?php
ECHO "Hello World!<br />";
echo "Hello World!<br />";
EcHo "Hello World!<br />";
?>

Tuttavia, tutte le variabili sono case-sensitive.

Esempio

<?php
$color = "red";
$COLOR = "yellow";
$coLOR = "black";
 
echo "My car is " . $color . "<br />";
echo "My car is " . $COLOR . "<br />";
echo "My car is " . $coLOR . "<br />";
?>