163 lines
3.2 KiB
Markdown
163 lines
3.2 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
|
||
?>
|
||
|
||
``` |