Zmienne PHP

Zmienne są pojemnikami przechowującymi informacje:

Przykład

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

Przykład uruchomienia

Podobnie jak w algebrze

x=5
y=6
z=x+y

W algebrze używamy liter (np. x) do przechowywania wartości (np. 5).

Z wyrażenia z=x+y możemy obliczyć, że wartość z wynosi 11.

W PHP te trzy litery są nazywaneZmienne.

Komentarz:Zobacz na zmienne jako pojemniki przechowujące dane.

Zmienne PHP

Jak w algebrze, zmienne w PHP mogą być używane do przechowywania wartości (x=5) i wyrażeń (z=x+y).

Nazwa zmiennej może być krótka (np. x i y), ale może również być bardziej opisowa (np. carname, total_volume).

Zasady zmiennych w PHP:

  • Zmienne zaczynają się od znaku $, po którym następuje nazwa zmiennej
  • Nazwa zmiennej musi zaczynać się od litery lub znaku podkreślenia
  • Nazwy zmiennych nie mogą zaczynać się od liczby
  • Nazwy zmiennych mogą zawierać tylko znaki alfanumeryczne i podkreślenia (A-z, 0-9 oraz _)
  • Nazwy zmiennych są wrażliwe na wielkość liter ($y i $Y to dwie różne zmienne)

Komentarz:Nazwy zmiennych w PHP są wrażliwe na wielkość liter!

Tworzenie zmiennych PHP

PHP nie ma polecenia tworzenia zmiennych.

Zmienne są tworzone po raz pierwszy, gdy są im przypisywane wartość:

Przykład

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

Przykład uruchomienia

Po wykonaniu powyższych instrukcji, zmienna txt będzie zawierać wartość Hello world!, zmienna x będzie zawierać wartość 5, a zmienna y będzie zawierać wartość 10.5.

Komentarz:Jeśli przypisujemy wartość tekstową do zmiennej, wartość tę należy otoczyć znakami przecinka.

PHP jest językiem słabo typowanym

W powyższym przykładzie zauważ, że nie musimy informować PHP o typie danych zmiennej.

PHP automatycznie konwertuje zmienne na odpowiedni typ danych na podstawie ich wartości.

W językach takich jak C i C++ oraz Java, programista musi zadeklarować nazwę i typ zmiennej przed jej użyciem.

PHP zmienna obszar działania

W PHP można zadeklarować zmienną w dowolnym miejscu w skrypcie.

Obszar działania zmiennej to część skryptu, w której zmienna może być odwoływana/używana.

PHP ma trzy różne obszary działania zmiennych:

  • local (lokalne)
  • global (globalne)
  • static (statyczne)

Local i Global obszar działania

FunkcjaPozaZadeklarowane zmienne mają obszar działania Global, dostępne tylko poza funkcją.

FunkcjaWewnętrznieZadeklarowane zmienne mają obszar działania LOCAL, dostępne tylko wewnątrz funkcji.

Poniższy przykład testuje zmienne z lokalnym i globalnym obszarem działania:

Przykład

<?php
$x=5; // Obszar globalny
function myTest() {
  $y=10; // Obszar lokalny
  echo "<p>Testowanie zmiennych wewnątrz funkcji:</p>";
  echo "Zmienna x jest: $x";
  echo "<br>";
  echo "Zmienna y jest: $y";
} 
myTest();
echo "<p>Testowanie zmiennych poza funkcją:</p>";
echo "Zmienna x jest: $x";
echo "<br>";
echo "Zmienna y jest: $y";
?>

Przykład uruchomienia

W powyższym przykładzie mamy dwie zmienne $x i $y oraz funkcję myTest(). $x jest zmienną globalną, ponieważ została zadeklarowana poza funkcją, podczas gdy $y jest zmienną lokalną, ponieważ została zadeklarowana wewnątrz funkcji.

Jeśli wyświetlimy wartości dwóch zmiennych wewnątrz funkcji myTest(), $y wyświetli wartość deklarowaną lokalnie, ale nie będzie można wyświetlić wartości $x, ponieważ został utworzony poza funkcją.

Ponieważ, jeśli wyświetlimy wartości dwóch zmiennych poza funkcją myTest(), wyświetli się wartość $x, ale nie wartość $y, ponieważ jest to zmienna lokalna, utworzona wewnątrz myTest().

Komentarz:Możesz tworzyć lokalne zmienne o tej samej nazwie w różnych funkcjach, ponieważ zmienne lokalne są rozpoznawane tylko przez funkcję, w której zostały utworzone.

Słowo kluczowe global PHP

Słowo kluczowe global jest używane do dostępu do zmiennych globalnych wewnątrz funkcji.

Aby to zrobić, użyj słowa kluczowego global przed zmienną (wewnątrz funkcji):

Przykład

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // Wyjście 15
?>

Przykład uruchomienia

PHP przechowuje wszystkie zmienne globalne w tablicy o nazwie $GLOBALS[index]. Indeks zawiera nazwę zmiennej. Ta tablica jest dostępna również wewnątrz funkcji i może być używana do bezpośredniego aktualizowania zmiennych globalnych.

Przykład powyżej można napisać w następujący sposób:

Przykład

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // Wyjście 15
?>

Przykład uruchomienia

Słowo kluczowe static PHP

Zwykle, po zakończeniu/uruchomieniu funkcji, wszystkie zmienne są usuwane. Jednakże, czasami potrzebuję, aby nie usuwać pewnej zmiennej lokalnej. Realizacja tego wymaga dodatkowych działań.

Aby to zrobić, użyj go przy pierwszym deklarowaniu zmiennej static Słowa kluczowe:

Przykład

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

Przykład uruchomienia

Następnie, za każdym razem gdy funkcja jest wywoływana, informacja przechowywana przez tą zmienną jest informacją, która była zawarta w ostatnim wywołaniu funkcji.

Komentarz:Ta zmienna nadal jest zmienną lokalną funkcji.