Zmienna

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania


Co to jest zmienna?

Zmienna jest podstawowym typem danych w programowaniu w PHP.

Nazewnictwo zmiennej

Każda zmienna poprzedzona jest znakiem dolara ($). Wielkość liter w nazwie zmiennej jest ważna. Pierwszy znak, czyli zaraz po znaku dolara ($) musi być literć albo znakiem podkreślenia (_). Ważny jest także fakt, że PHP zezwala na użycie polskich znaków diakrytycznych w nazwach zmiennych.

przykłady

<?
//najprostszy sposób
$zmienna = 'abc';
 
//różne poprawne formy nazewnictwa
$Zmie_nna_1 = 'abc'; 
$zMIENNA = 'abc';
$_zmienna = 'abc';
$___zmienna = 'abc';
$gćśla_zażś = 'abc';
 
//różne niepoprawne formy nazewnictwa
$1zmienna = 'abc';
$^zmienna = 'abc';
?>

Typy zmiennych

PHP rozpoznaje kilka typów zmiennych:

Integer - używany do liczba całkowitych (np. -3, 0, 1, 3, 5 ...);
Double - używany do liczb rzeczywistych (np. 1/2, 3.345, 3/4 ...);
String - używany do ciągów znaków (np. ala ma kota itp.);
Array - używany do przechowywania tablic;
Object - używany do przechowywania obiektów;
NUUL - oznacza zmienne którym nie nadano wartości, lub które nie są ustawione.

Rodzaje zmiennych

Zwykłe - podstawowe

Opisane w powyższym przykładzie.

Zmienne predefiniowane

$GLOBALS

W tej tablicy, są trzymane wszystkie zmienne globalne. dzięki tej zmiennej nie trzeba używaż funkcji global wewnątrz funkcji. przykład:

<?
$zmienna=1;
function pokaz_zmienna(){
  echo $GLOBALS['zmienna'];
}
 
pokaz_zmienna();
?>

Wyświetli nam oczywiście: 1.

$_SERVER

Tablica ta zawiera dane dot. serwera, nagłówków, ścieżek i lokalizacji skrtyptów, na którym znajduje się PHP. Tablica ta tworzona jest przez serwer. Nie ma gwarancji, że otrzymamy dokładnie takć samą tablicć, na każdym serwerze, niektóre serwery mogą pomijać niektóre wpisy w tej tablicy.

Jest to zmienna superglobalna, czyli można do niej się odwośać w każdym miejscu w skrypcie.

'PHP_SELF'

Nazwa pliku aktualnie wykonywanego skryptu. Nazwa jest relatywna do głównej ścieżki, np: http://example.com/test/foo.php, $_SERVER['PHP_SELF'] jest równe: /test/foo.php, w przeciwieśstwie do stałej __FILE__, która pokazuje pełną fizyczną ścieżke do pliku na serwerze.

Jeżeli PHP uruchomiony jest w lini poleceś, to zmienna jest dostepna dopiero od wersji PHP 4.3.0

'argv'
'GATEWAY_INTERFACE'
'SERVER_NAME'
'SERVER_SOFTWARE'
'SERVER_PROTOCOL'
'REQUEST_METHOD'
'REQUEST_TIME'
'QUERY_STRING'
'DOCUMENT_ROOT'
'HTTP_ACCEPT'
'HTTP_ACCEPT_CHARSET'
'HTTP_ACCEPT_ENCODING'
'HTTP_ACCEPT_LANGUAGE'
'HTTP_CONNECTION'
'HTTP_HOST'
'HTTP_REFERER'
'HTTP_USER_AGENT'
'REMOTE_ADDR'
'REMOTE_HOST'
'REMOTE_PORT'
'SCRIPT_FILENAME'
'SERVER_ADMIN'
'SERVER_PORT'
'SERVER_SIGNATURE'
'PATH_TRANSLATED'
'SCRIPT_NAME'
'REQUEST_URI'
'PHP_AUTH_USER'
'PHP_AUTH_PW'
'AUTH_TYPE'

$_GET

Zawiera wszelkie informacje przesyłane od klienta metodą GET czyli informacje zawarte w adresie URL (typowa forma adresu: plik.php?zmienna=wartosc)

$_POST

Zawiera informacje przesyłane od klienta metodą POST (głównie informacje z formularzy)

$_COOKIE

Tablica, zawierająca dane tymczasowe przetrzymywane na komputerze klienta, dzięki. Pozwala na posśugiwanie się mechanizmem nazwanym "cookies".

przykład: $_COOKIE['zmienna'], gdzie setcookie("zmienna", "wartosc");

$_FILES

Tablica globalna przechowująca dane dotyczćce przesłanych za pomocą przeglądarki plików. Przechowuje dane w następującej strukturze: ('userfile' jest nazwę w polu: <input type="file" name="userfile">)

$_FILES['userfile']['name']

nazwa pliku po stronie klienta.

$_FILES['userfile']['type']

typ mime pliku, np. image/jpeg.

$_FILES['userfile']['size']

rozmiar pliku w bajtach.

$_FILES['userfile']['tmp_name']

tymczasowa nazwa pliku pod jakć został plik wgrany na serwer.

$_FILES['userfile']['error']

kod błędu podczas wysyłania pliku, Szczegóły

$_ENV

Tablica ta zawiera informację o środowisku w którym pracuje parser PHP (ENVironment). Zawiera informacje o ustawieniach serwera, systemu operacyjnego oraz samego parsera PHP.

$_REQUEST

Stanowi ono połączenie tablic $_GET i $_POST przy czym priorytet określany jest przez GPC.

$_SESSION

Globalna tablica przechowująca dane z aktualnej sesji.