PHP Variabler
- Föregående sida PHP Syntax
- Nästa sida PHP Echo / Print
Liksom i algebra
x=5 y=6 z=x+y
I algebra använder vi bokstäver (t.ex. x) för att lagra värden (t.ex. 5).
Från uttrycket z=x+y kan vi beräkna att z är 11.
I PHP kallas dessa tre bokstäverVariabel.
Kommentar:Se variabler som behållare för data.
PHP Variabler
Som i algebra kan PHP-variabler användas för att lagra värden (x=5) och uttryck (z=x+y).
Variabelnamn kan vara mycket korta (t.ex. x och y), eller mer beskrivande (t.ex. carname, total_volume).
PHP-variabelregler:
- Variabeln börjar med $-tecknet följt av variabelns namn
- Variabelnamn måste börja med ett tecken eller understrening
- Variabelnamn får inte börja med ett siffra
- Variabelnamn får endast innehålla bokstäver, siffror och understreck (A-z, 0-9 och _)
- Variabelnamn är känsliga för storlek och små bokstäver ($y och $Y är två olika variabler)
Kommentar:PHP-variabelnamn är känsliga för storlek och små bokstäver! ($y och $Y är två olika variabler)
Skapa PHP-variabler
PHP har inget kommando för att skapa variabler.
Variabler skapas vid första tilldelningen:
Exempel
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>
Efter att ovanstående meningar har körts kommer variabeln txt att spara värdet Hello world! och variabeln x kommer att spara värdet 5, medan variabeln y kommer att spara värdet 10.5.
Kommentar:Om du tilldelar en text till en variabel, använd citattecken runt värdet.
PHP är ett språk med löst typat system
Observera i föregående exempel att vi inte behöver informera PHP om variabelns datatyp.
PHP konverterar automatiskt variabler till rätt datatyp baserat på dess värde.
I språk som C och C++ samt Java måste programören deklarera namnet och typen på variabeln innan den används.
PHP variabelräckvidd
I PHP kan du deklarera variabler på vilket ställe som helst i skriptet.
Variabelns räckvidd betyder det del av skriptet där variabeln kan hänvisas till/användas.
PHP har tre olika typer av variabelräckvidd:
- local (lokal)
- global (global)
- static (statisk)
Local och Global räckvidd
FunktionUtanförDeklarerade variabler har Global räckvidd och kan bara åtkommas utanför funktionen.
FunktionInutiDeklarerade variabler har LOCAL räckvidd och kan bara åtkommas inom funktionen.
Följande exempel testar variabler med både lokal och global räckvidd:
Exempel
<?php $x=5; // Global räckvidd function myTest() { $y=10; // Lokal räckvidd echo "<p>Testa variabler inom funktionen:</p>"; echo "Variabeln x är: $x"; echo "<br>"; echo "Variabeln y är: $y"; } myTest(); echo "<p>Testa variabler utanför funktionen:</p>"; echo "Variabeln x är: $x"; echo "<br>"; echo "Variabeln y är: $y"; ?>
I föregående exempel finns det två variabler $x och $y, samt en funktion myTest(). $x är en global variabel eftersom den deklarerades utanför funktionen, medan $y är en lokal variabel eftersom den deklarerades inom funktionen.
Om vi skriver ut värdena för två variabler inom myTest() -funktionen, kommer $y att skriva ut värdet som deklarerades lokalt, men inte värdet för $x, eftersom det skapades utanför funktionen.
Då, om du skriver ut värdena för två variabler utanför myTest() -funktionen, kommer du att få ut värdet för $x, men inte värdet för $y, eftersom det är en lokal variabel och skapades inom myTest().
Kommentar:Du kan skapa lokala variabler med samma namn i olika funktioner, eftersom lokala variabler kan identifieras endast av den funktion där de skapades.
PHP global-nyckelord
global-nyckelordet används för att komma åt globala variabler inom en funktion.
För att göra detta, använd
Exempel
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // Skriver ut 15 ?>
PHP lagrar alla globala variabler i ett array som kallas $GLOBALS[index]. Indexen innehåller variabelnamnet. Denna array kan också nås inom funktionen och användas för att direkt uppdatera globala variabler.
Ovanstående exempel kan skrivas om på följande sätt:
Exempel
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; // Skriver ut 15 ?>
PHP static-nyckelord
Normalt tas alla variabler bort när en funktion slutförs/utförs. Men ibland behöver jag inte ta bort en lokal variabel. Detta kräver ytterligare arbete för att uppnå.
För att uppnå detta, använd static Nyckelord:
Exempel
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
Då, varje gång funktionen anropas, är informationen som lagras i variabeln informationen från den senaste anropningen av funktionen.
Kommentar:Den här variabeln är fortfarande en lokal variabel för funktionen.
- Föregående sida PHP Syntax
- Nästa sida PHP Echo / Print