Php/php variables

来自菜鸟教程
跳转至:导航、​搜索

PHP变量

变量是用于存储信息的“容器”。

创建(声明)PHP变量

在PHP中,变量以 $ 符号,后跟变量名称:

<?php

$txt = "Hello world!";

$x = 5;
$y = 10.5;

?>

执行以上语句后,变量 $txt 将保持价值 Hello world! ,变量 $x 将保持价值 5 和变量 $y 将保持价值 10.5 .

注意: 将文本值分配给变量时,请在该值两边加上引号。

注意: 与其他编程语言不同,PHP没有用于声明变量的命令。它是在您首次为其分配值时创建的。

将变量视为存储数据的容器。


PHP变量

变量可以具有短名称(如x和y)或更具描述性的名称(年龄,汽车名称,total_volume)。

PHP变量规则:

  • 变量以 $ 符号,后跟变量名称
  • 变量名称必须以字母或下划线字符开头
  • 变量名不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z,0-9和_)
  • 变量名称区分大小写( $age and $AGE 是两个不同的变量)

请记住,PHP变量名称区分大小写!


输出变量

PHP echo 语句通常用于将数据输出到屏幕。

以下示例将显示如何输出文本和变量:

<?php

$txt = "W3Schools.com";

 echo "I love $txt!";
?>

以下示例将产生与上述示例相同的输出:

<?php

$txt = "W3Schools.com";

 echo "I love " . $txt . "!";
?>

以下示例将输出两个变量的总和:

<?php

 $x = 5;
$y = 4;
echo $x + $y;
?>

注意: 您将了解有关 echo 语句以及如何在下一章中将数据输出到屏幕。

PHP是一种松散类型的语言

在上面的示例中,请注意,我们不必告诉PHP变量是哪种数据类型。

PHP根据其值自动将数据类型与变量关联。由于没有严格意义上的数据类型设置,因此您可以执行类似将字符串添加到整数的操作,而不会引起错误。

在PHP 7中,添加了类型声明。这提供了一个选项,用于指定声明函数时期望的数据类型,并且通过启用严格要求,它将在类型不匹配时引发“致命错误”。

您将了解更多有关 strict and non-strict 要求和数据类型声明 PHP函数

章节。

PHP变量范围

在PHP中,可以在脚本中的任何位置声明变量。

变量的范围是脚本中可以引用/使用变量的部分。

PHP具有三个不同的变量范围:

  • 本地
  • 全球
  • 静态的

全球和本地范围

声明的变量 函数具有全局范围,并且只能在函数外部访问:

具有全局范围的变量:

 <?php
$x = 5; // global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
} 
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>

声明的变量 一个函数具有局部范围,并且只能在该函数中访问:

带有局部范围的变量:

 <?php
function myTest() {
  $x = 5; // local scope
  echo "<p>Variable x inside function is: $x</p>";
} 
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>

您可以在不同的函数中使用具有相同名称的局部变量,因为局部变量只能由声明它们的函数识别。


PHP全局关键字

The global 关键字用于从函数内部访问全局变量。

为此,请使用 global 变量之前(在函数内部)的关键字:

<?php

$x = 5;
$y = 10;


function myTest()
{

  global $x, $y;

 
$y = $x + $y;

}


myTest();

echo $y; // outputs 15

?>

PHP还将所有全局变量存储在名为 $GLOBALS[ index ] 。该 index 保存变量的名称。该数组也可以从函数内部访问,并且可以用于直接更新全局变量。

上面的示例可以这样重写:

<?php

$x = 5;

$y = 10;



function myTest()
{

 
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];

} 



myTest();

echo $y; // outputs 15

?>

PHP静态关键字

通常,当一个函数完成/执行时,它的所有变量都会被删除。但是,有时我们希望不删除局部变量。我们需要它来做进一步的工作。

为此,请使用 static 首次声明变量时的关键字:

<?php
function myTest()
{

  static $x = 0;

    echo $x;

    $x++;

}


myTest();

myTest();

myTest();
?>

然后,每次调用该函数时,该变量仍将具有自上次调用该函数以来所包含的信息。

注意: 该变量仍然是函数的局部变量。

PHP练习