PHP

Synlighet

Variabler kan finnas på lite olika ställen på en PHP-sida. De kan ligga lokalt inne i en funktion eller på global nivå. De variabler som skapas inne i en funktion går bara att komma åt just inne i den funktionen, dvs lokalt inom funktionen. Motsatsen är en variabel som inte ligger i en funktion som kommer att vara nåbar från hela sidan, men INTE inne i funktioner. På så sätt fungerar PHP lite annorlunda än JavaScript där man från alla funktioner kan komma åt variabler på global nivå. Synlighet brukar kallas räckvidd (eller scope) på dataspråk. Vi tittar på tre exempel.

<?php
function dummy(){
	$tal = 5;
	echo "I funktionen " . $tal * $tal;
}

dummy();

echo "<BR>";
echo "Utanför funktionen : " . $tal * $tal;
?>

Vad kommer att skrivas ut här?

$tal = 5;

function dummy(){
	echo "I funktionen " . $tal * $tal;
}

dummy();

echo "<BR>";
echo "Utanför funktionen : " . $tal * $tal;
?>

I det tredje exemplet skickar vi med variablen $tal till funktionen.

$tal = 5;

function dummy(){
	echo "I funktionen " . $tal * $tal;
}

dummy($tal);

echo "<BR>";
echo "Utanför funktionen : " . $tal * $tal;
?>

Vad kommer att skrivas ut här? Vad är skillnaden mellan de tre skripten? Fundera lite på vad som kommer att hända i var och ett av fallen innan du tittar på resultaten.

Resultat

Resultat

Resultat