domenica, gennaio 02, 2011

Basi di Dati: PHP, operatori e strutture di controllo

Operatori

Confronto

== uguaglianza
=== identità (non effettua cast: controlla anche i tipi)
!= <> disuguaglianza
!== non identità
< minore di
> maggiore di
<= minore uguale
>= maggiore uguale

Assegnazione

= assegnazione standard
=& (CREDO) assegnazione per riferimento

Aritmetici

+ - * / % (l'operatore % è il resto della divisione intera. Es. 38%7 = 3)

Concatenazione di stringhe

.

Ibridi assegnazione

+= -= *= /= %=
++ -- (sia nella variante $a++ che nella variante ++$a con logica simile al java. Francamente ne sconsiglio l'uso per non creare espressioni poco leggibili)
.=

Logici

AND (anche &&)
OR (anche ||)
NOT (anche !)
XOR

Strutture di controllo

if, elseif, else come in java
switch come in C (switch (variabile) { case
valore: codice [break;]; default: codice; }. Una volta che si è trovato un valore valido è eseguito anche il codice dei successivi case (e default)!!!
operatore condizionale ternario: $var
=
condizione
?
ValoreSeVero
:
ValoreSeFalso

while (condizione) {}
do {} while (condizione)
for identico a java
foreach (array
as
$k
=>
$val) {codice} permette di iterare le chiavi ed i valori di un array. Il codice viene eseguito per ogni coppia chiave/valore dell'array. Il codice può fare riferimento al valore della chiave con la variabile $k e al valore co $val. Mettendo solo foreach (array
as
$val) {codice} ciclo solo i valori
break esce dal ciclo
continue permette di saltare all'iterazione successiva

Definire una funzione:

Non sono costrette a ritornare un valore.
function
nomefunzione ($arg1, $arg2 …) { codice; [return($var)] }

Gli argomenti possono avere un valore di default:
function miafunzione ($arg1, $arg2 = 'Ciao') {return($arg2) }
Ovviamente dopo una variabile con default non possono essercene altre senza il default (assegnamento posizionale!)

Il codice che non si trova in nessuna function viene eseguito quando viene incontrato. Quello nelle function solo se vengono esplicitamente richiamate

Nessun commento: