ZmiennePodręcznik PHPPoprzedniNastępnyRozdział 7. ZmienneSpis treściPodstawyZmienne predefiniowaneZasięg zmiennychZmienne zmienneZmienne spoza PHPPodstawy
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 $foo; // $foo też się zmieniło.
echo $bar;
?>
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.
?>
PoprzedniSpis treściNastępnyType JugglingPoczątek rozdziałuZmienne predefiniowane
Wyszukiwarka
Podobne podstrony:
language variableslanguage variables scopelanguage variables variablelanguage variables scopelanguage variables externallanguage variables predefinedlanguage variables externallanguage variables scopelanguage variableslanguage variables predefinedlanguage variables variablelanguage variables externallanguage variables predefinedlanguage variableslanguage variables variablelanguage expressionsLanguage and Skills Test Units 1 2function import request variableswięcej podobnych podstron