PHP变量剖析

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

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

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

关于作者
一个低调而闷骚的男人。
相关文章
Redis 单线程模型分
Java获取浏览器请求头(User-Agent),分浏览器信息,系统信息的几种办法。
Java 完美解.plist & 生成plist ,Android 解.plist
json 解与生成工具类 ,JSON操作讲解(附件)
如何解JSON数据(详细解答)
SEO实战分-排名最近突然掉光了问题排查,几个大站关键词下降SEO问题分
阿里云DNS 解讲解,SEO配置搜索引擎线路解
QUIC / HTTP3 协议详细分讲解
JSOUP 教程,JSOUP爬虫教程,JSOUP超时分与处理
Spring 静态变量注入赋值,静态方法调用,静态语句块
最新文章
Java赋值运算符 21
XML内部实体和外部实体 180
Java面向对象编程概念 143
PHP回显语句 91
Linux—文件树 116
C语言while循环和do while循环 131
Python元组剖析 200
MySQL触发器教程 314
sql使用布尔运算符和关系运算符 258
C语言的变量和常量 296
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 682093
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 674719
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 602179
免费天气API,天气JSON API,不限次数获取十五天的天气预报 577373
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 552926
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 509367
Elasticsearch教程(四) elasticsearch head 插件安装和使用 480030
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 264589
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244254
Elasticsearch教程(一),全程直播(小白级别) 225588
支付扫码

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

查看我的收藏

正在加载... ...