PHP variabler
- Forrige side PHP syntaks
- Næste side PHP Echo / Print
Variabler er beholdere til at gemme information
Eksempel
<?php $x=5; $y=6; $z=$x+$y; echo $z; ?>
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; ?>
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"; ?>
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 ?>
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 ?>
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(); ?>
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.
- Forrige side PHP syntaks
- Næste side PHP Echo / Print