当前位置:首页 > CN2资讯 > 正文内容

自学PHP笔记(四) PHP变量和常量php 函数

2天前CN2资讯

PHP中变量有普通变量、可变变量和预定义变量,而常量就是普通变量和预定义变量。

1. 变量

在PHP中变量是内存中得一个命名单元,在系统中为程序中每个变量都分配一个存储单元,在这些存储单元中可以存储任何数据类型得数据。

在PHP中不需要先声明变量后使用变量,只需要给变量赋值即可,但是PHP变量名称必须使用​​$​​字符做为前缀,变量名区分大写小写。

示例】为变量赋值

<?php
$num = 3.1415926212;
?>

在进行赋值时只需要使用运算符​​=​​即可,在运算符等号左侧为变量名称右侧为变量值。

1.1 变量之间互相赋值

示例

<?php
$num1 = 123;
$num2 = $num1;
echo $num2;
?>

输出结果为:​​123​​,在变量之间进行赋值时,只进行传递变量值,变量在存储单元中都是各自独立的,也就是说当输出​​$num1​​变量时也是可以输出的,不会输出空

1.2 引用赋值

引用赋值的意思就是将变量A与变量B做一个链接,当变量A值发生改变,变量B的值也随之进行改变。

示例

<?php
$a = 'test';
$b = &$a;
$a = 'test1';
echo $b;
?>

输出结果为:​​test1​​

引用方法也比较简单,就是在进行赋值变量前面加上​​&​​符号即可。

取消引用

如果不想让变量引用赋值了,我们可以使用​​unset()​​函数取消变量引用,这个函数是将变量A和变量B之间的引用关系断开,并不是将变量进行销毁。

示例

<?php
$a = 'test';
$b = &$a;
echo $b; #输出结果为1
unset($b);
echo $b; #输出结果为空
?>

2. 可变变量

可变变量也就是一个可以动态变化的变量名,是一种特殊的变量,这个变量名是由应一个变量的值来进行定义的,也就是变量的名字取决于另一个变量的值。

示例

<?php
$a = 'test';
$test = 'hello word !';
echo $$a;
?>

输出结果为:​​hello word !​​

定义这样的变量只需要在变量前面加上​​$​​符号即可

高级用法

<?php
$a = 'hello';
$$a = 'word';
echo $a.$$a;
echo '<br>';
echo $hello;
?>

输出结果为:

helloword
word

3. 预定义变量

在PHP中提供了大量的预定义变量,通过这些变量可以获取用户会话、用户操作环境和本地操作系统等信息,由于大部分变量依赖于服务器的版本和设置,以及其他因素,所以一些预定义变量在PHP中以命令行形式运行时并不生效,下面我列举了一些预定义变量:

预定义变量

说明

$GLOBALS

调用全局作用域中的全部变量

$_SERVER

显示服务器及环境信息

$_GET

提交GET变量

$_POST

提交POST变量

$_FILES

提交文件上传变量

$_REQUEST

提交Request变量

$_SESSION

Session变量

$_ENV

环境变量

$_COOKIE

Cookies变量

$php_errormsg

前一个错误信息

$HTTP_RAW_POST_DATA

原生POST数据

$http_response_header

HTTP响应头

$argc

传递给脚本的参数数目

$argv

传递给脚本的参数数组

示例】输出环境信息

<?php
var_dump($_SERVER);
?>

输出结果如图所示:

这里因为我的环境有中文字符所以输出结果时会出现乱码,后续大家可以定义一下字符编码就不会存在乱码了。

4. 常量

4.1 声明常量

常量其实就是字面意思,也就是说这个变量是一成不变的,除非取消这个定义。

在定义常量时遵循PHP变量的相同命名规则,由英文字母、下划线和数字组成,但数字不能作为首字母出现。

4.1.1 使用​​define()​​函数声明常量

语法】使用​​define()​​声明常量语法

define($name , $value [ $case_insensitive = true ]);

参数说明:

​​$name​​:表示常量名称

​​$value​​:表示常量的值

​​$case_insensitive​​:表示设置常量是否区分大小写,值为​​true​​则不区分大小写,为​​false​​则区分大小写

注意:这里需要注意常量值只能是​​integer、float、string、boolean、NULL或array​​哟

声明变量只返回布尔值,true 为声明成功,false 为声明失败。

示例】声明常量

<?php
if (define("test","hello word")){
echo "声明变量成功";
}else{
echo "声明变量失败";
}
?>

输出结果为:​​声明变量成功​​

常量与变量对比

  • 常量不需要使用​​$​​符号进行定义
  • 常量只能使用函数进行定义,不能使用赋值符​​=​​进行赋值
  • 常量不需要考虑作用域,可以在任意地方进行定义和使用
  • 常量一旦被定义就无法进行修改,只能进行取消定义
  • 常量的值只能是标量
  • 4.1.2 const关键字

    使用过​​const​​关键字定义常量只能用在最顶端的作用域,此方法是在编译时定义的,不能用在函数内、循环内或者判断语句内进行使用。

    示例

    <?php
    const test = "hello word";
    ?>

    是用​​const​​关键字定义常量是比较简单的,只需要在定义赋值前加上关键字即可

    4.2 使用常量

    获取变量值也是比较简单的可以采用变量名的方式获取或者是使用​​constant()​​函数进行获取,这两种方式输出的值是一样的,只不过使用函数获取动态常量时更方便。

    示例

    <?php
    define("hello","word");
    echo hello;
    echo constant("hello");
    ?>

    输出结果为:两个​​word​​

    **注意:**使用函数输出常量值时,输出正确可正常输出,但是输出错误会出现报错

    4.3 预定义常量

    PHP中提供了大量的预定义常量,不过大多数预定义常量都是由不同的扩展库进行定义的,只有加载了这些扩展库才能使用这些预定义常量,这里要注意有些预定义常量会根据不同的位置会有不同的改变,比如​​_FLNE_​​的值就是依赖于他所在的位置来决定。下面总结了一些常用的预定义常量:

    预定义常量

    说明

    PHP_VERSION

    获取PHP版本

    PHP_OS

    获取操作系统信息

    PHP_API

    获取WEB与PHP的接口信息

    PHP_INT_MAX

    获取最大整数

    PHP_BINDIR

    获取执行路径

    _FILE_

    获取当前文件名

    _LINE_

    获取当前行数

    DEFAULT_INCLUDE_PATH

    获取PHP默认路径

    PEAR_INSTALL_DIR

    获取PHP安装路径

    PEAR_EXTENSION_DIR

    获取PHP扩展路径

    PHP_LIBDIR

    获取PHP模块扩展路径

    _DIR_

    获取当前文件路径

    _FUNCTION_

    获取函数名

    M_PI

    获取圆周率

    _MHTHOD_

    获取当前成员

    _NAMESPALE_

    获取命名空间

    _CLASS_

    获取类名

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/26538.html

      分享给朋友:

      “自学PHP笔记(四) PHP变量和常量php 函数” 的相关文章

      深入了解俄罗斯时区对生活与经济的影响

      在这个广袤的国家,谈论俄罗斯时区就如同打开了一本极其丰富的地理和文化百科全书。俄罗斯作为世界上面积最大的国家,领土纵深可谓无比广阔,从西欧一直延伸到东亚。这种东西跨度的特性,使得时区的划分显得尤为重要。俄罗斯实际上拥有11个时区,每个时区不仅仅是时间的概念,更承载着各自地区独特的人文、经济和社会习惯...

      SSD测速全指南:高效评估固态硬盘性能的必备工具与技巧

      SSD测速的整体概述 在日常使用中,SSD(固态硬盘)作为一种新兴存储设备,其重要性逐渐提升。与传统的机械硬盘相比,SSD提供更快的读写速度和更好的性能体验。然而,SSD的表现并不是一成不变的,针对其性能的评估便成为了一个不可或缺的环节。今后我将带大家深入了解SSD测速的基本情况,帮助大家更好地理解...

      全面了解扩容:定义、分类及最佳实践

      扩容的定义与重要性 扩容这个词听起来似乎很简单,但它其实蕴含了很多技术细节和实际应用。简单来说,扩容就是对已有系统或设备的能力进行增强,尤其是在存储或处理能力上。想象一下,当你的业务正在快速增长,客户数量激增,原本的系统可能会面临压力,这时扩容就显得尤为重要。通过扩容,我可以在需要的时候增加更多的存...

      宝塔安装全攻略:轻松管理你的服务器与网站

      宝塔面板,凭借其简单易用的特性,已经成为很多用户搭建和管理网站的首选工具。作为一款开源的服务器管理软件,宝塔面板提供了丰富的功能和灵活的操作方式,让无论是新手还是经验丰富的用户都能轻松上手。我在使用宝塔面板的过程中,深刻体会到它带来的便利和高效。 功能与特点 宝塔面板最大的一大优势在于其直观的用户界...

      Oracle 免费VPS:轻松入门云计算的最佳选择

      在了解Oracle免费VPS之前,先来看看Oracle Cloud。这是甲骨文公司推出的一项云服务,提供了一系列强大的计算和存储资源。Oracle Cloud的最吸引人的部分是它的免费服务,给用户提供了机会,可以在没有经济负担的情况下体验云计算的强大功能。对于开发者、创业者或只是想进行一些小项目的用...

      Zgo VPS:高性能虚拟专用服务器的最佳选择

      在2021年,ZgoCloud(最初名为Zgovps)如雨后春笋般成立于美国特拉华州。作为一家新兴的技术公司,我们专注于提供高性能的虚拟专用服务器(VPS),这让我对公司的前景充满了期待。我们最初的使命是为各种用户提供可靠的网络解决方案,而现在我们已经成长为行业内的一股重要力量。 我们的全球数据中心...