PHP variabler

Variabler er beholdere til at gemme information

Eksempel

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

Kør eksempel

Ligesom i algebra

x=5
y=6
z=x+y

I algebra bruger vi bogstaver (f.eks. x) til at gemme værdier (f.eks. 5).

Fra udtrykket z=x+y kan vi beregne, at z's værdi er 11.

I PHP kaldes disse tre bogstaverVariabel.

Kommentarer:Tag variabler som beholdere til at gemme data.

PHP variabler

Som i algebra kan PHP-variabler bruges til at gemme værdier (x=5) og udtryk (z=x+y).

Variabelnavne kan være meget korte (f.eks. x og y), eller mere beskrivende (f.eks. carname, total_volume).

PHP variabelregler:

  • Variabler begynder med $-symbolet, efterfulgt af variabelnavnet
  • Variabelnavne skal begynde med et bogstav eller et understreg
  • Variabelnavne kan ikke begynde med et tal
  • Variabelnavne kan kun indeholde alfanumeriske tegn og understregninger (A-z, 0-9 og _)
  • Variabelnavne er følsomme over for store og små bogstaver ($y og $Y er to forskellige variabler)

Kommentarer:PHP variabelnavne er følsomme over for store og små bogstaver!

Opret PHP variabler

PHP har ingen kommando til at oprette variabler.

Variabler oprettes ved første tildelelse:

Eksempel

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

Kør eksempel

Efter udførelsen af de ovenstående sætninger vil variablen txt gemme værdien Hello world! og variablen x vil gemme værdien 5, mens variablen y vil gemme værdien 10.5.

Kommentarer:Hvis du tildeler en værdi til en variabel, der er tekst, skal værdien omgives af anførselstegn.

PHP er et slapt typessprog

Bemærk i det foregående eksempel, at vi ikke nødvendigvis skal fortælle PHP variabelens data type.

PHP konverterer automatisk variabler til den korrekte data type baseret på deres værdi.

I sprog som C og C++ samt Java skal programmøren deklarere navnet og typen på en variabel, før den bruges.

PHP variable rækkevidde

I PHP kan variabler deklareres på ethvert sted i scriptet.

En variabels rækkevidde refererer til den del af scriptet, hvor variablen kan refereres til eller bruges.

PHP har tre forskellige variable rækkevidder:

  • local (lokal)
  • global (global)
  • static (statisk)

Local og Global rækkevidde

FunktionUden forDeklarerede variabler har Global rækkevidde og kan kun tilgås uden for funktionen.

FunktionInden forDeklarerede variabler har LOCAL rækkevidde og kan kun tilgås inden for funktionen.

Følgende eksempel tester variabler med både lokal og global rækkevidde:

Eksempel

<?php
$x=5; // Global rækkevidde
function myTest() {
  $y=10; // Lokal rækkevidde
  echo "<p>Test variabler inden for funktionen:</p>";
  echo "Variabel x er: $x";
  echo "<br>";
  echo "Variabel y er: $y";
} 
myTest();
echo "<p>Test variabler uden for funktionen:</p>";
echo "Variabel x er: $x";
echo "<br>";
echo "Variabel y er: $y";
?>

Kør eksempel

I det foregående eksempel er der to variabler $x og $y samt en funktion myTest(). $x er en global variabel, fordi den deklareres uden for funktionen, mens $y er en lokal variabel, fordi den deklareres inden for funktionen.

Hvis vi inden for myTest() funktionen outputter værdierne for to variabler, vil $y outputtere værdien, der er deklareret lokalt, men ikke værdien af $x, fordi den oprettes uden for funktionen.

Hvis der udefra i myTest() funktionen outputtes værdierne for to variabler, vil værdien af $x blive outputtet, men ikke værdien af $y, fordi den er en lokal variabel og oprettes inden for myTest().

Kommentarer:Du kan oprette lokale variabler med samme navn i forskellige funktioner, fordi lokale variabler kun kan genkendes af den funktion, de blev oprettet i.

PHP global nøgleord

Global nøgleord bruges til at tilgå globale variabler inden for en funktion.

For at gøre dette skal du bruge global nøgleord (i funktionen):

Eksempel

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // Uddata 15
?>

Kør eksempel

PHP gemmer alle globale variabler i et array ved navn $GLOBALS[index]. Indekset indeholder variabelnavnet. Dette array kan også tilgås inden for funktionen og bruges til direkte at opdatere globale variabler.

Det kan skrives om som følger:

Eksempel

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // Uddata 15
?>

Kør eksempel

PHP static nøgleord

Normalt slettes alle variabler, når en funktion er færdig/udført. Men nogle gange har jeg brug for at beholde en lokal variabel. For at gøre dette kræves der yderligere arbejde.

For at gøre dette, skal du bruge static Nøgleord:

Eksempel

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

Kør eksempel

Derefter, hver gang funktionen kaldes, er informationen, der gemmes i variablen, informationen, der var indeholdt i funktionen sidste gang den blev kaldt.

Kommentarer:Denne variabel er stadig en lokal variabel for funktionen.