PHP Variabler

Variabler är behållare för information:

Exempel

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

Kör instans

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;
?>

Kör instans

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";
?>

Kör instans

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
?>

Kör instans

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
?>

Kör instans

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();
?>

Kör instans

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.