PHP变量剖析

JSON 2024-03-18 16:26:14 252

php的变量是代表值的符号或名称。变量用于存储数值、字符、字符串或内存地址等值,以便可以在程序的任何部分使用它们。接下来sojson会给大家讲解和举例。

声明PHP变量

PHP中的所有变量均以 $(美元)符号开头,后跟变量名称。

有效的变量名称以字母(AZ、az)或下划线(_)开头,后跟任意数量的字母、数字或下划线。

如果变量名超过一个单词,则可以用下划线分隔(例如 $employee_code 而不是 $employeecode)。

'$'是一个特殊变量,不能赋值。

PHP变量命名图解


示例:有效和无效的PHP变量 

<?php
$abc = 'Welcome';  //valid
$Abc = 'W3resource.com'; //valid
$9xyz = 'Hello world';  //invalid; starts with a number
$_xyz = 'Hello world';  //valid; starts with an underscore
$_9xyz = 'Hello world';  //valid
$aäa = 'Hello world';  //valid; 'ä' is (Extended) ASCII 228.
?>

PHP变量名区分大小写

考虑以下示例:

<?php
$abc = 'Welcome';
echo "Value of abc : $abc";
echo "Value of ABC : $ABC";
?>

上面例子的输出:

Value of abc : Welcome
Value of ABC :

在上面的例子中,不同的资本化方案产生不同的变量。

PHP 是一种松散类型语言

在 C、C++ 和 Java 等语言中,程序员必须在使用变量之前声明变量的名称和类型。在 PHP 中,变量的类型在使用前不需要声明,因为类型与值而不是变量相关联。因此,变量可以根据需要改变其值的类型。

正如前面提到的,在 PHP 中使用变量或其类型之前不需要声明它们。在下面的示例中,所有变量在使用之前都没有声明,事实上 $height 是浮点数,$width 是整数。 

<?php
$height = 3.5;
$width = 4;
$area=$height*$width;
echo "Area of the rectangle is : $area";
?>

PHP 变量:通过引用赋值

PHP(从 PHP4 开始)提供了另一种给变量赋值的方法:通过引用赋值。这意味着新变量只是指向原始变量。对新变量的更改会影响原始变量,反之亦然。

考虑以下示例:

<?php 
$foo='bob';
$bar=&$foo;
$bar="my $bar";
echo $bar;
echo '<br />';
echo $foo;
?>

输出:

my bob
  my bob

PHP变量

您知道如何在 PHP 中声明变量。但是,如果您希望变量的名称本身就是变量怎么办?在 PHP 中,您有变量 Variables,因此您可以将一个变量分配给另一个变量。

在下面的示例中,第 1 行。在第 2 行中,我们声明了一个名为 $v 的变量,它存储值“var1”。4、“var1”使用两个美元符号作为变量名。即$$v。

因此现在有两个变量。$v 存储值“var1”,而 $$v 存储值 var2。此时$$v和$var1相等,都存储值“var2”。

例子:

<?php
$v='var1';
echo $v; // prints var1
$v = 'var2'; 
echo $v; // prints var2
echo $var1; // prints var2
?>

PHP 变量范围

在 PHP 中,可以在脚本中的任何位置声明变量。我们声明特定范围的变量。有两种类型的作用域:局部作用域(在函数内部创建和访问变量)和全局作用域(在函数外部创建和访问变量)。

例子:

<?php
//global scope
$x = 10;
function var_scope()
{
//local scope
$y=20;
echo "The value of x is :  $x "."<br />";
echo "The value of y is :  $y"."<br />";
}
var_scope();
echo "The value of x is :  $x"."<br />";
echo "The value of y is :  $y ";
?> 

在上面的脚本中有两个变量 $x 和 $y 以及一个函数 var_scope()。$x 是一个全局变量,因为它是在函数外部声明的,而 $y 是一个局部变量,因为它是在函数 var_scope() 内部创建的。在脚本末尾,调用 var_scope() 函数,后跟两个 echo 语句。让我们看看脚本的输出:

  The value of x is :
  The value of y is :  20
  The value of x is :  10
  The value of y is : 

var_scope() 函数中有两个 echo 语句。它打印 $y 的值,因为它是本地声明的,并且无法打印 $x 的值,因为它是在函数外部创建的。

脚本的下一个语句打印 $x 的值,因为它是全局变量,即不在任何函数内创建。

最后一个 echo 语句无法打印 $y 的值,因为它是局部变量并且是在函数 var_scope() 函数内创建的。

全局关键字

我们已经知道在函数外部声明的变量是全局的。除了函数内之外,它们可以在程序中的任何位置访问。

要在函数内使用这些变量,必须在该函数中将变量声明为全局变量。为此,我们在变量之前使用 global 关键字。考虑以下示例:

例子:

<?php
$x=2;
$y=4;
$z=5;
$xyz=0;
function multiple()
{
global $x, $y, $z, $xyz;
$xyz=$x*$y*$z;
}
multiple();
echo $xyz;
?>

在上面的示例中,$x、$y、$z、$xyz 已初始化为 2、4、5、0。在 multiple() 函数中,我们将 $x、$y、$z、$xyz 声明为全局。因此,每个变量的所有引用都将引用全局版本。现在在脚本中的任何位置调用 multiple() ,变量 $xyz 将打印 40,因为它已经被称为全局的。

PHP静态变量

通常,当函数终止时,其所有变量都会丢失其值。有时我们想为进一步的工作保留这些价值观。通常,那些保存值的变量在函数内称为静态变量。为此,我们必须在这些变量前面写入关键字“static”。考虑以下没有静态变量的示例。 

示例:没有静态变量

<?php
function test_variable()
{
$x=1;
echo $x;
$x++;
}
test_variable();
echo "<br>";
test_variable();
echo "<br>";
test_variable();
?>

在上面的脚本中,函数 test_variable() 是无用的,因为最后一个语句 $x = $x +1 不能增加 $x 的值,因为每次调用它时 $x 都会设置为 1 并打印 1。

输出:

为了克服上述脚本的问题,$x 可以声明为静态的。请参阅以下示例。

示例:使用静态变量

<?php
function test_count()
{
static $x=1;
echo $x;
$x++;
}
test_count();
echo "<br>";
test_count();
echo "<br>";
test_count();
?>

输出:

1
2
3

PHP:保留字

下表中的字是保留字,不能用作常量、类名、函数或方法名。您可以将它们用作变量名称,但不要用作变量名称以避免混淆。

PHP关键字

摘要(从 PHP 5 开始)大批()作为休息
案件catch(从 PHP 5 开始)cfunction(仅限 PHP 4)班级克隆(从 PHP 5 开始)
常量继续宣布默认
别的否则结束声明恩福结束foreach
万一末端开关最后延伸最终版本(从 PHP 5 开始)
为了foreach功能全球的goto(从 PHP 5.3 开始)
如果实现(从 PHP 5 开始)接口(从 PHP 5 开始)instanceof(从 PHP 5 开始)私有(从 PHP 5 开始)
命名空间(从 PHP 5.3 开始)新的old_function(仅限 PHP 4)或者抛出(从 PHP 5 开始)
受保护(从 PHP 5 开始)公共(从 PHP 5 开始)静止的转变异或
尝试(从 PHP 5 开始)使用变量尽管 

编译时常量

__班级___DIR__(从 PHP 5.3 开始)_文件___线____功能__
__方法____NAMESPACE__(从 PHP 5.3 开始)   

语言结构

死()回声()空的()出口()评估()
包括()include_once()伊塞特()列表()要求()
require_once()返回()打印()取消设置() 

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/511.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:
PHP

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
SQL等链接剖析
SQL等链接剖析
Python元组剖析
Python元组剖析
SQL自然连接剖析
SQL自然连接剖析
SQL非等值连接剖析
SQL全外连接剖析
SQL全外连接剖析
SQL交叉连接剖析
最新文章
Linux I/O重定向 1767
Ruby 循环 - while、for、until、break、redo 和 retry 711
Node.js:全局对象 517
如何使用终端检查Linux上的内存使用情况 635
JavaScript对象详细剖析 300
Python print() 函数 409
PHP if/else/elseif 语句 407
HTML5 Canvas弧线教程 387
Java赋值运算符 431
XML内部实体和外部实体 464
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 686836
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 675081
免费天气API,天气JSON API,不限次数获取十五天的天气预报 615785
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 611117
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 555623
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 510028
Elasticsearch教程(四) elasticsearch head 插件安装和使用 481399
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 269208
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244787
Elasticsearch教程(一),全程直播(小白级别) 227489
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...