Ves al contingut principal

Variables

Les variables en PHP ens serveixen per emmagatzemar dades i que poden canviar durant l'execució del programa. 

Característiques

  • Sempre comencen amb el símbol del dòlar $, seguit d'un nom que pot contenir lletres, números i guions baixos.
  • PHP és un llenguatge case-sensitive
  • Variables no tipades. PHP assigna dinàmicament l'espai en funció del valor
// String. Cadena de caràcters o text
$fruita = "poma";

// Integer. Nombres enters
$edat = 30;

// Float/Double. Nombres decimals
$preu = 19.99;

// Boolean. Pot ser true o false
$actiu = true;

// Array. Llistes de valors de qualsevol tipus
$colors = ["vermell", "verd", "blau"];

// Objectes. Instàncies a classes
$persona = new Persona();

// NULL. Variable sense valor assignat
$resposta = null;
  • Les variables poden canviar de valor en qualsevol moment
// Les variables poden canviar en valor
// i fins i tot de tipus
$var = "Joan";
$var = 23;
  • Si utilitzem cometes dobles en els string, podem inserir variables directament (interpolació)
$nom = "Joan";
echo "Hola, $nom"; // Mostra: Hola, Joan

amb cometes simples, s'imprimeix literalment i no s'interpreten les variables

echo 'Hola, $nom'; // Mostra: Hola, $nom

Recomanacions

  • Nomenclatura:
    • Noms descriptius, en minuscules amb guions baixos per separar paraules $nom_variable (snake case)
    • Noms descriptius, $nomVariable, separant les paraules amb la primera lletra majuscula (camel case)
    • Noms descriptius, $sNomVariable, la primera lletra indica el tipus de la variable i segueix el nom de la variable en camel case (Hungarian Case)
  • Inicialitzar les variables abans d'utilitzar-les
  • Evitar variables globals si no són necessàries, utilitzar funcions i arrays per encapsular dades

Snake case

$nom_usuari = "Joan";
$edat_usuari = 25;

Camel case

$nomUsuari = "Joan";
$edatUsuari = 25;

Hungarian case

$strNom = "Joan";   // str = string
$intEdat = 25;      // int = integer
$arrFruites = ["poma","pera"]; // arr = array

Exemple

<?php
// ----------------------------
// 1. Snake case
// Les paraules es separen amb guions baixos
$nom_usuari = "Joan";
$edat_usuari = 25;
$correu_usuari = "joan@example.com";

echo "Snake case: $nom_usuari té $edat_usuari anys i el correu és $correu_usuari.<br>";

// ----------------------------
// 2. Camel case
// La primera paraula en minúscula, les següents amb majúscula
$nomUsuari = "Maria";
$edatUsuari = 30;
$correuUsuari = "maria@example.com";

echo "Camel case: $nomUsuari té $edatUsuari anys i el correu és $correuUsuari.<br>";

// ----------------------------
// 3. Hungarian case
// Prefix que indica el tipus de dada
$strNom = "Pere";       // string
$intEdat = 40;          // integer
$strCorreu = "pere@example.com"; // string

echo "Hungarian case: $strNom té $intEdat anys i el correu és $strCorreu.<br>";
  • Snake case: llegible, molt utilitzat en PHP clàssic.

  • Camel case: modern, habitual en frameworks i codi orientat a objectes.

  • Hungarian case: mostra el tipus de dada, útil per depuració, menys usat avui dia.

Operacions bàsiques

Assignació

<?php
$nom = "Joan";
$edat = 25;

Aritmètiques

<?php
$a = 10;
$b = 3;

$suma = $a + $b;         // 13
$resta = $a - $b;        // 7
$producte = $a * $b;     // 30
$divisio = $a / $b;      // 3.333...
$modul = $a % $b;        // 1 (residu)
$potencia = $a ** $b;    // 1000

Operacions amb strings

<?php
// Concatenació
$nom = "Maria";
$missatge = "Hola " . $nom . "!"; // "Hola Maria!"

// Interpolació
$missatge = "Hola $nom!"; // "Hola Maria!"

// Interpolació NOMES AMB "
$missatge = 'Hola $nom'; // "Hola $nom"

Operacions assignació composta

<?php
$x = 5;
$x += 3;  // $x = $x + 3 = 5 + 3 = 8
$x -= 2;  // $x = 8 - 2 = 6
$x *= 4;  // $x = 6 * 4 = 24
$x /= 6;  // $x = 24 / 4 = 6

$str = 'hola ';
$str .= 'mon'; // $str = $str . 'mon' = 'hola ' . 'mon' = 'hola mon'

Increment i decrement

<?php
$comptador = 1;
$comptador++; // 2 (incrementa en 1)
$comptador--; // 1 (disminueix en 1)