Основи
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Основи
Референца за `language.variables.basics.php` со подобрена типографија и навигација.
Основи
Променливите во PHP се претставени со знак за долар проследен со името на променливата. Името на променливата е чувствително на големи и мали букви.
Променливите во PHP се претставени со знак за долар, проследен со името на променливата. Името на променливата е осетливо на големи и мали букви.A-Z, a-zВалидно име на променлива започнува со буква (
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Забелешка: или бајтови од 128 до 255) или подвлекување, проследено со кој било број букви, броеви или подвлекувања. Како регуларен израз, тоа би било изразено вака:
Забелешка:
$thisPHP не поддржува Unicode имиња на променливи, но некои кодирања на знаци (како UTF-8) кодираат знаци на таков начин што сите бајтови на повеќебајтен знак паѓаат во дозволениот опсег, со што тоа станува валидно име на променлива. (низа)е специјална променлива на која не може да се додели вредност. Пред PHP 7.1.0, индиректно доделување (на пр. со користење
Погледнете исто така Водич за именување во корисничкиот простор.
) беше можно.
<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var"; // outputs "Bob, Joe"
$_4site = 'not yet'; // valid; starts with an underscore
$täyte = 'mansikka'; // valid; 'ä' is (Extended) ASCII 228.
?>Пример #1 Валидни имиња на променливи
<?php
$4site = 'not yet'; // invalid; starts with a numberПример #2 Невалидни имиња на променливи (низа) PHP прифаќа низа од било кои бајтови како име на променлива. Имињата на променливи кои не ги следат гореспоменатите правила за именување можат да бидат пристапени само динамички при извршување. Погледнете
за информации за тоа како да им пристапите.
<?php
${'invalid-name'} = 'bar';
$name = 'invalid-name';
echo ${'invalid-name'}, " ", $$name;
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
bar bar
Пример #3 Пристапување до необични имиња на променливи Изрази.
Стандардно, променливите секогаш се доделуваат по вредност. Тоа значи дека кога израз се доделува на променлива, целиот вредност на оригиналниот израз се копира во променливата на дестинацијата. Ова значи, на пример, дека по доделувањето на вредноста на една променлива на друга, промената на една од тие променливи нема да има ефект врз другата. За повеќе информации за овој вид доделување, видете го поглавјето за PHP исто така нуди друг начин за доделување вредности на променливи:доделување по референца
. Ова значи дека новата променлива едноставно упатува (со други зборови, "станува алијас за" или "укажува на") оригиналната променлива. Промените во новата променлива влијаат на оригиналната, и обратно.My
name is BobЗа да доделите по референца, едноставно додадете амперсанд (&) на почетокот на променливата која се доделува (изворната променлива). На пример, следниот код испечатува '
<?php
$foo = 'Bob'; // Assign the value 'Bob' to $foo
$bar = &$foo; // Reference $foo via $bar.
$bar = "My name is $bar"; // Alter $bar...
echo $bar;
echo $foo; // $foo is altered too.
?>' двапати:
<?php
$foo = 25;
$bar = &$foo; // This is a valid assignment.
$bar = &(24 * 7); // Invalid; references an unnamed expression.
function test()
{
return 25;
}
$bar = &test(); // Invalid because test() doesn't return a variable by reference.
?>
Една важна работа што треба да се забележи е дека само променливи можат да бидат доделени по референца.
E_WARNING Не е потребно да се декларираат променливи во PHP, но тоа е многу добра пракса. Пристапувањето до недефинирана променлива ќе резултира со E_NOTICE). Променлива што не е дефинирана има стандардна вредност од nullќе треба да се прилагоди, и isset() конструкцијата на јазикот може да се користи за откривање дали променлива веќе е иницијализирана.
Пример #4 Стандардна вредност на неиницијализирана променлива
<?php
// Unset AND unreferenced (no use context) variable.
var_dump($unset_var);
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Warning: Undefined variable $unset_var in ... NULL
PHP дозволува автовивификација на низи (автоматско креирање на нови низи) од недефинирана променлива. Додавањето елемент на недефинирана променлива ќе создаде нова низа и нема да генерира предупредување.
Пример #5 Автовивификација на низа од недефинирана променлива
<?php
$unset_array[] = 'value'; // Does not generate a warning.
?>Потпирањето на стандардната вредност на неиницијализирана променлива е проблематично при вклучување на една датотека во друга што ја користи истото име на променлива.
Променлива може да се уништи со користење на unset() конструкцијата на јазикот.
За информации за функциите поврзани со променливи, видете го Референтниот прирачник за функции на променливи.