163 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			163 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: Learn About Php Variables
							 | 
						|||
| 
								 | 
							
								localeTitle: Узнайте о переменных Php
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								Переменные - это контейнеры для хранения данных, таких как `strings` , `integers` , `boolean` значения, `array` и объекты.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								PHP следует определенным правилам для объявлений переменных, таких как:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Переменная должна начинаться со знака доллара ($)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`php <?php $var = 5; ?>`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Имя переменной может содержать символы, такие как AZ, az, 0-9, \_ и [символы ASCII](http://www.asciitable.com/ "ASCII Table") от 127 до 255.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`php <?php $var = 5; //Valid $var_1 = "Foo"; //Valid $_var2 = 'Bar'; //Valid $var.3 = 'Baz'; //Invalid ?>`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Имя переменной может начинаться с подчеркивания (\_).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`php <?php $_var2 = 'Bar'; //Valid ?>`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Имя переменной не должно начинаться с номера 0-9.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								`php <?php $9var3 = 'Baz'; //Invalid ?>`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Имя переменной чувствительно к регистру.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								    $var = 5; //Valid 
							 | 
						|||
| 
								 | 
							
								    $VAR = "Foo"; //Valid 
							 | 
						|||
| 
								 | 
							
								    echo $var; //Output 5 
							 | 
						|||
| 
								 | 
							
								    echo "<br>"; 
							 | 
						|||
| 
								 | 
							
								    echo $VAR; //Output Foo 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								PHP - это свободно типизированный язык, поэтому нам не нужно объявлять тип данных переменной при объявлении переменной. В отличие от Java или C.
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								    $var = 5; 
							 | 
						|||
| 
								 | 
							
								    $var2 = 4; 
							 | 
						|||
| 
								 | 
							
								    $sum = $var+$var2; 
							 | 
						|||
| 
								 | 
							
								    echo $sum; //Output 9 
							 | 
						|||
| 
								 | 
							
								    echo "<br>"; 
							 | 
						|||
| 
								 | 
							
								    echo $var+$var2; //Output 9 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Переменные также могут быть назначены путем ссылки. Это позволяет двум переменным ссылаться на один и тот же контент. Оператор `&` помещается перед переменной, на которую нужно ссылаться.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								    $var1 = "foo"; 
							 | 
						|||
| 
								 | 
							
								    $var2 = "bar"; 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 myTest($var1, $var2); 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 echo $var1; //Output foo 
							 | 
						|||
| 
								 | 
							
								 echo $var2; //Output BAR 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 function myTest($var1, &$var2){ 
							 | 
						|||
| 
								 | 
							
								    $var1 = "FOO"; 
							 | 
						|||
| 
								 | 
							
								    $var2 = "BAR"; 
							 | 
						|||
| 
								 | 
							
								 } 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Чтобы имена переменных были заданы динамически, мы используем переменные переменные. Это может быть особенно полезно, когда необходимо создать несколько переменных.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								    $var = 'Tom'; 
							 | 
						|||
| 
								 | 
							
								    echo $var;      //Output Tom 
							 | 
						|||
| 
								 | 
							
								    $$var = 'Cat'; //The value of $$var is the value of $var. So $$var and $Tom give the same output. 
							 | 
						|||
| 
								 | 
							
								    echo $$var;   //Output Cat 
							 | 
						|||
| 
								 | 
							
								    echo $Tom;   //Output Cat 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Область переменных
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Область переменной относится к местам, откуда доступна переменная.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Глобальная область предназначена для переменных, объявленных вне функции. Доступ к этим переменным можно получить где угодно, но не внутри функции.
							 | 
						|||
| 
								 | 
							
								*   Локальная область предназначена для переменных, объявленных внутри функции, к которой невозможно получить доступ из любой точки вне функции.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								   $global = "Hello"; 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								  function Test(){ 
							 | 
						|||
| 
								 | 
							
								   $local = "World"; 
							 | 
						|||
| 
								 | 
							
								   echo $global; //Error 
							 | 
						|||
| 
								 | 
							
								   echo $local; //Output World 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								   Test(); 
							 | 
						|||
| 
								 | 
							
								   echo $global; //Output Hello 
							 | 
						|||
| 
								 | 
							
								   echo $local; //Error 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Чтобы получить доступ к глобальным переменным внутри функции:
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								   $global = "Hello"; 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 function Test(){ 
							 | 
						|||
| 
								 | 
							
								   global $global; 
							 | 
						|||
| 
								 | 
							
								   $local = "World"; 
							 | 
						|||
| 
								 | 
							
								   echo $global; //Output Hello 
							 | 
						|||
| 
								 | 
							
								   echo $local; //Output World 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								   Test(); 
							 | 
						|||
| 
								 | 
							
								   echo $global; //Output Hello 
							 | 
						|||
| 
								 | 
							
								   echo $local; //Error 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Статические переменные
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Каждый раз, когда создается функция, все локальные переменные удаляются. Чтобы сохранить последнее значение переменной, мы объявляем его `static` .
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Пример :
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								<?php 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 function WithStatic(){ 
							 | 
						|||
| 
								 | 
							
								   static $var = 0; 
							 | 
						|||
| 
								 | 
							
								   echo $var; 
							 | 
						|||
| 
								 | 
							
								   $var++; 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								   WithStatic(); //Output 0 
							 | 
						|||
| 
								 | 
							
								   WithStatic(); //Output 1 
							 | 
						|||
| 
								 | 
							
								   WithStatic(); //Output 2 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								 function WithoutStatic(){ 
							 | 
						|||
| 
								 | 
							
								   $var = 0; 
							 | 
						|||
| 
								 | 
							
								   echo $var; 
							 | 
						|||
| 
								 | 
							
								   $var++; 
							 | 
						|||
| 
								 | 
							
								  } 
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								   WithoutStatic(); //Output 0 
							 | 
						|||
| 
								 | 
							
								   WithoutStatic(); //Output 0 
							 | 
						|||
| 
								 | 
							
								   WithoutStatic(); //Output 0 
							 | 
						|||
| 
								 | 
							
								 ?> 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```
							 |