freeCodeCamp/guide/chinese/miscellaneous/learn-about-php-variables/index.md

3.2 KiB
Raw Blame History

title localeTitle
Learn About Php Variables 了解Php变量

变量是用于存储数据的容器,例如strings integers boolean值, array和对象。

PHP遵循某些变量声明规则例如

  • 变量必须以美元符号($)开头

例:

php <?php $var = 5; ?>

  • 变量名称可以包含字符如AZaz0-9_和ASCII字符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 
 ?>