Rozdział 8 . Zmienne

Spis treści
Podstawy
Zmienne predefiniowane
Zasięg zmiennych
Zmienne zmienne
Zmienne spoza PHP

Podstawy

Każdą zmienną w PHP zapisuje się , poprzedzając jej nazwę znakiem dolara " $ " . Wielkość liter w nazwie zmiennej jest rozróżniana .

Nazw zmiennych dotyczą te same reguły , co innych rodzajów nazw w PHP . Poprawna nazwa zmiennej zaczyna się od litery lub znaku podkreślenia " _ " , po których może wystąpić dowolna ilość liter , cyfr lub znaków podkreślenia . Jako wyrażenie regularne , można to zapisać tak : ' [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* '

Notatka : W naszym rozumieniu , litery to znaki a-z , A-Z i symbole ASCII od 127 do 255 ( 0x7f-0xff ) .

 
$var

 
=

 
"

 
Bob"

 
;

 
$Var

 
=

 
"Joe"

 
;

 
echo

 
"$var

 
,

 
$Var"

 
;

 
/

 
/

 
wyświetla

 
"Bob

 
,

 
Joe

 
"

 
$4site

 
=

 
'not

 
yet'

 
;

 
/

 
/

 
niepoprawna

 
nazwa

 
-

 
zaczyna

 
się

 
od

 
cyfry

 
$_4site

 
=

 
'not

 
yet'

 
;

 
/

 
/

 
poprawna

 
nazwa

 
-

 
zaczyna

 
się

 
znakiem

 
podkreślenia

 
$jaźń

 
=

 
'not

 
yet'

 
;

 
/

 
/

 
poprawna

 
nazwa

 
-

 


 
"

 
i

 


 
"

 
należą

 
do

 
ASCII

 
127





W PHP 3 , przypisanie zmiennych jest możliwe tylko przez wartość . Innymi słowy , jeśli przypiszesz do zmiennej jakieś wyrażenie , wartość tego wyrażenia zostanie skopiowana do zmiennej . Oznacza to , że po przypisaniu wartości jednej zmiennej do drugiej , późniejsza zmiana wartości jednej z nich nie spowoduje zmiany wartości drugiej . Więcej informacji na ten temat w rozdziale Wyrażenia .

PHP 4 oferuje jeszcze jeden sposób przypisywania wartości do zmiennych : przypisanie przez referencję . Oznacza to , że nowa zmienna tylko odnosi się ( innymi słowy , "staje się aliasem " lub "wskazuje na" ) do pierwotnej zmiennej . Zmiany wykonane na nowej zmiennej oddziałują także na pierwotną zmienną i vice versa . Ma to też takie znaczenie , że nie następuje żadna operacja skopiowania , czyli przypisanie następuje szybciej . Jednakże wyraźne przyspieszenie działania może być widoczne tylko w pętlach zwartych ( ang . tight loops ) , lub przy przypisywaniu dużych tablic lub obiektów .

Aby przypisać przez referencję , postaw znak ampersand ( ) przed nazwą zmiennej przypisywanej (zmiennej od której pobierasz wartość ) . Na przykład poniższy kod wyświetla " To jest PHP " dwa razy :

 
?php

 
$foo

 
=

 
"

 
PHP"

 
;

 
/

 
/

 
Przypisz

 
wartość

 
"PHP

 
"

 
do

 
$foo

 
.

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Przypisz

 
referencyjnie

 
$foo

 
do

 
$bar

 
.

 
$bar

 
=

 
"To

 
jest

 
$bar"

 
;

 
/

 
/

 
Zmień

 
$bar..

 
.

 
echo

 
$bar

 
;

 
echo

 
$foo

 
;

 
/

 
/

 
$foo

 
też

 
się

 
zmieniło

 
.

 
?





Należy pamiętać , że tylko wyrażenia posiadające nazwę mogą być przypisane przez referencję .

 
?php

 
$foo

 
=

 
25

 
;

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Przypisanie

 
poprawne

 
.

 
$bar

 
=

 
(24

 
*

 
7)

 
;

 
/

 
/

 
Przypisanie

 
niepoprawne

 
-

 
do

 
nienazwanego

 
wyrażenia

 
.

 
function

 
test(

 
)

 
{

 
return

 
25

 
;

 
}

 
$bar

 
=

 
test()

 
;

 
/

 
/

 
Niepoprawne

 
.

 
?