Enrera
Mòdul 2
Creació i gestió d'entorns web dinàmics (PHP)
  Pràctica
1
2
3
4
5
   
Exercicis
Exercicis
 
 
   
  Operadors i càlculs
   
 

L'objectiu d'aquesta pràctica és familiaritzar-nos amb els diferents tipus d'operadors que ens ofereix el PHP i que ens permeten:

  • calcular
  • assignar
  • comparar
  • incrementar, decrementar
  • establir comparacions lògiques

Avançarem també algunes estructures de control.

   
Operadors
   

Els operadors que veurem seran els següents: aritmètics, d'assignació, comparació, execució, d'increment/decrement i lògics.

   
  Operadors aritmètics
   
 

Permeten fer càlculs bàsics i són els següents:

exemple
nom
resultat
$a + $b
Addició
Suma de $a i $b
$a - $b
Substracció
Diferència entre $a i $b
$a * $b
Multiplicació
Producte de $a i $b
$a / $b
Divisió
Quocient de $a entre $b
$a % $b
Mòdul
Resta o residu de $a dividit entre $b

Per exemple:

Executar codi

<?php
$a = 4;
$b = 7;
$c = $a + $b; //la variable $c passa a valdre 11

echo "\$a=".$a."<br> \n";
echo "\$b=".$b."<br> \n";
echo "\$c=\$a+\$b <br><br> \n";
echo "Resultat: ". $c;
?>

On la variable $c valdria ara 11.

Observeu que, per poder veure a la pantalla el nom de la variable i no pas el seu valor, hem de recórrer, tal com ja havíem vist a la pràctica 1 d'aquest mòdul, al signe d'escapament (\) davant del signe d'inici de variable ($).

   
  Operadors d'assignació
 

 

 

En l'exemple anterior hem vist com en PHP les assignación bàsiques es fan mitjançant '='. Aquest operador fa que l'operand de l'esquerra agafi el valor del de la dreta.

Així a

$total = 2500;

la variable $total passa a valdre 2500

Hi ha també els operadors combinats, que permeten assignar i operar en un sol pas:

$a = 4;
$a += 6; //ara $a valdrà 10 com si haguéssim fet $a = $a + 6

i també

$cadena = "Hola ";
$cadena .= "Jaume!"; // ara $cadena equival a "Hola Jaume!"

   
  Operadors de comparació
   
 

Com en la majoria de llenguatges, el PHP té els seus comparadors que ens permetran prendre decisions. La taula següent els mostra:

exemple

nom

resultat

$a == $b

Igualtat

Cert si $a és igual a $b

$a === $b

Identitat

Cert si $a és igual a $b i si són del mateix tipus

$a != $b

Desigualtat

Cert si $a no és igual a $b

$a < $b

Menor que

Cert si $a és estrictament menor que $b

$a > $b

Major que

Cert si $a és estrictament major que $b

$a <= $b

Menor o igual que

Cert si $a és menor o igual que $b

$a >= $b

Major o igual que

Cert si $a és major o igual que $b

   
 

Observeu que alguns d'aquests operadors seran molt familiars als coneixedors de llenguatges com el Javascript o el C.

Remarqueu també que l'operador que valora la igualtat és un doble igual (==).

 

   
  Operadors d'increment/decrement
   
 

Permeten incrementar/decrementar el valor d'una variable en una unitat. L'increment/decrement pot fer-se abans o després de tornar el valor.

exemple

nom

efecte

++$a

Preincrement

Incrementa $a en un i després retorna $a

$a++

Postincrement

Retorna $a i després incrementa $a en un

--$a

Predecrement

Decrementa $a en un i després retorna $a

$a--

Postdecrement

Retorna $a i després decrementa $a en un

   
  Operadors lògics
   
 

exemple

nom

efecte

$a and $b

I

Cert si tant $a com $b són certs

$a or $b

O

Cert si $a o $b són certs

$a xor $b

O exclusiva

Cert si $a o $b són certs, però no tots dos alhora

!$a

Negació

Cert si $a no és cert

$a && $b

I

Cert si tant $a com $b són certs

$a || $b

O

Cert si $a o $b són certs

   
 

Observeu que, en realitat, disposem de quatre possibilitats d'operació lògica. Les altres dues restants són variants sintàctiques de la mateixa opció. Així, and i && són equivalents, igualment com or i || .

   
  Posem-ho en pràctica
Pràctica
Per poder comprovar el funcionament d'aquests operadors, cal que avancem l'ús d'un tema que desenvoluparem a la pràctica 3: les estructures de control. De moment, utilitzarem la condició (if i else) . Vegem-ho amb un exemple. Copieu el codi següent a l'editor i deseu-lo amb el nom de m2p31.php.
   
Veure codi

Executar codi

<?php
/*-----------------------------------------------------------------
* Mòdul: 2 Pràctica: 3 Fitxer: m2p31.php
* Autor: D116 Data:
* Descripció: Treballant amb operadors
* Pre condi.:
* Post cond.:
-----------------------------------------------------------------*/

// Qualificacions per al batxillerat

$nota = 4; //Qualificació (proveu diferents qualificacions)
$nota = round($nota,0); // Si han entrat decimals els suprimim i arrodonim
$missatge = ""; // missatge; de moment, buit

// Comprovem que la nota sigui entre els valors permesos (0-10)
if( $nota >= 1 && $nota <= 10 ){
if($nota < 5 ){ //Si la nota és inferior a 5, no supera
$color="#AA0000"; // color en què apareixerà el missatge
$missatge = "Ho sentim, no has superat la prova.";
}else{// en cas contrari...
$color="#0000AA"; // color en què apareixerà el missatge
$missatge = "Prova superada!";
}
}else{
$color="#000000"; // color en què apareixerà el missatge.
$missatge = "Error! Només es poden entrar qualificacions de 1 a 10";
}

echo "<font color=$color> $missatge Qualificació: $nota </font> <br>";
?>

  Llistat 2.3.1. Treball amb operadors
   
 

L'exemple anterior mostra una valoració dins d'una estructura condicional. Tot i que ja podeu veure quina és la sintaxi, de l'estructrua condicional en parlarem, com hem dit, a la pràctica següent.

El codi té una variable numèrica $nota que és arrodonida mitjançat la funció round(). Després d'això, valorem mitjançant un primer if que no sigui ni més petit d'1 ni més gran de 10 i per tant sigui una qualificació vàlida.

En un segon if valorem si la qualificació és per sota de 5 o no. Segons cadascuna de les possibilitats, definim la variable $color (color del missatge) i $missatge, que es mostra al final.

   
   
 

Calcular amb el PHP

   
Pràctica
Per comprovar a la pràctica la capacitat del PHP, veurem un senzill exemple de càcul de l'IVA. Copieu també aquest codi a l'editor i deseu-lo amb le nom de m2p32.php.
   
Veure codi

Executar codi

<?php
/*-----------------------------------------------------------------
* Mòdul: 2 Pràctica: 3 Fitxer: m2p32.php
* Autor: D116 Data:
* Descripció: Calcular l'IVA
* Pre condi.:
* Post cond.:
-----------------------------------------------------------------*/

$preu_net = 100; //preu net
$calcul_iva = 0.16; //factor de càlcul d'iva
$percent_iva = $calcul_iva*100; //percentatge corresponent a l'iva
$total_iva = $preu_net*$calcul_iva; // total de l'iva a pagar
$total = $preu_net+$total_iva; // preu total (preu net+iva)

echo "<TABLE BGCOLOR=\"#AABBCC\"> \n";
echo "<TR><TD width=\"100\">Preu net: </TD> <TD>".$preu_net." € </TD></TR><br> \n";
echo "<TR><TD width=\"100\">IVA: (".$percent_iva." %): </TD> <TD> ".$total_iva." € </TD></TR><br> \n";
echo "<TR><TD width=\"100\">Preu final: </TD> <TD>".$total." €</TD></TR> \n";
echo "</TABLE> \n";
?>

  Llistat 2.3.2. Càlcul de l'IVA
   
 

A l'exemple podem veure els diferents operadors de càlcul.

Tenim dos valors variables ($preu_net i $calcul_iva) a partir dels quals fem els càlculs pertinents (saber quin és el percentatge de l'IVA, quin import representa l'IVA i quin és el total a pagar).

En la presentació dels resultats creem una taula mitjançant les etiquetes pertinents d'html.

   
   
   
Amunt
Pràctica
1
2
3
4
   
Exercicis
Exercicis