Php 简明教程

PHP - Variables

PHP 中的变量是一个命名内存位置,它保存属于某种数据类型的数据。

  1. PHP 使用美元符号 ($) 前缀变量名称的惯例。

  2. PHP 中的变量名称区分大小写。

  3. 变量名称遵循与 PHP 中其他标签相同的规则。有效的变量名称以字母或下划线开头,后面跟任意数量的字母、数字或下划线。

  4. 根据命名约定,“$name”、“$rate_of_int”、“$Age”、“$mark1”是 PHP 中的 valid variable names 示例。

  5. Invalid variable names: “name”(没有$前缀)、“$rate of int”(不允许空格)、“$Age#1”(无效字符#)、“$11”(名称不是以字母开头)。

变量使用“=”运算符赋值,左侧是变量,右侧是要计算的表达式。

No Need to Specify the Type of a Variable

PHP 是一种动态类型语言。不需要指定变量的类型。相反,变量的类型由分配给它的值决定。变量的值是其最近赋值的值。

看看下面的 example

<?php
   $x = 10;
   echo "Data type of x: " . gettype($x) . "\n";

   $x = 10.55;
   echo "Data type of x now: " . gettype($x) . "";
?>

它将生成以下 output

Data type of x: integer
Data type of x now: double

Automatic Type Conversion of Variables

当有必要时,PHP 会很好地自动将类型从一种转换为另一种类型。在下面的代码中,PHP 将字符串变量“y”转换为“int”,对另一个整数变量执行加法,并将结果打印为 30。

看看下面的 example

<?php
   $x = 10;
   $y = "20";

   echo "x + y is: ", $x+$y;
?>

它将生成以下 output

x + y is: 30

Variables are Assigned by Value

在 PHP 中,变量始终按值分配。如果将表达式分配给变量,则原始表达式的值将被复制到其中。如果分配后表达式中任何变量的值发生变化,它不会对分配的值产生任何影响。

<?php
   $x = 10;
   $y = 20;
   $z = $x+$y;
   echo "(before) z = ". $z . "\n";

   $y=5;
   echo "(after) z = ". $z . "";
?>

它将生成以下 output

(before) z = 30
(after) z = 30

Assigning Values to PHP Variables by Reference

您还可以通过引用方式将值分配给 PHP 变量。在这种情况下,新变量仅引用或成为原始变量的别名或指向原始变量。新变量的更改会影响原始变量,反之亦然。

要按引用分配,只需在正在分配的变量(源变量)的开头添加一个和号 (&)。

看看下面的 example

<?php
   $x = 10;
   $y = &$x;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "\n";

   $y=20;
   $z = $x+$y;
   echo "x=". $x . " y=" . $y . " z = ". $z . "";
?>

它将生成以下 output

x=10 y=10 z = 20
x=20 y=20 z = 40

Variable Scope

作用域可以定义为变量在其中声明的程序中可用性的范围。PHP 变量可以是四种作用域类型之一−

Variable Naming

命名变量的规则是−

  1. 变量名必须以字母或下划线字符开头。

  2. 变量名可以包含数字、字母、下划线,但不能使用 +、-、%、(、)、& 等字符。

变量没有大小限制。