Lokala variabler är endast giltiga inom kroppen av **funktion** eller **metod** (i objektorienterad programmering).
Om vi arbetar i ett vanligt skript händer allting som förväntat:
$x = 5;echo $x; // skriver ut 5
Men när vi definierar en egen funktion ändras beteendet något:
$x = 5;function mojeFunkce(): int{$x = 3;echo $x; // skriver ut 3}echo $x; // skriver ut 5
Anledningen är att variabeln $x endast existerar inom ramen för den aktuella funktionen eller metoden. Detta beteende är avsiktligt.
Om vi vill skicka ett värde från den omgivande koden till en funktion måste vi anropa den med de nödvändiga parametrarna:
echo mojeFunkce(5); // skriver ut 6function mojeFunkce(int $x): int{return $x + 1;}
Värden anges i funktioner med hjälp av parametrar. Om du vill skicka ytterligare variabler till funktionen utöver parametrarna kan du använda globala variabler, men det är ingen bra idé.
Användningen av lokala variabler gör stor skillnad när man programmerar ett större program. Om vi inte skiljer på variablers giltighet i olika sammanhang skulle det vara omöjligt att garantera att en variabel inte åsidosätts på ett ställe där vi inte räknar med den (vilket är anledningen till att globala variabler är onda).
$x = 5;$y = 3;function soucet(int $x, int $y): int{return $x + $y;}echo $x; // skriver ut 5echo soucet($x, $y); // skriver ut 8
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | sv