【PHP入门】1.2-常量与变量

-常量与变量-

PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时存储)

1.2.1变量基本概念

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。

1、 变量是用来存储数据的;

2、 变量是存在名字的;

3、 变量是通过名字来访问的:数据;

4、 变量是可以改变的:数据。

1.2.2变量的使用

PHP中的所有变量都必须使用“$”符号

1、 定义:在系统中增加对应的变量名字(内存)

2、 赋值:可以将数据赋值给变量名(可以在定义的同时完成)
请添加图片描述

3、 可以通过变量名访问存储的数据

请添加图片描述

4、 可以将变量从内存中删除

请添加图片描述

1.2.4变量命名规则

1、 在PHP中变量名字必须以“$”符号开始;

2、 名字由字母、数字和下划线“_”构成,但是不能以数字开头;

3、 在PHP中本身还允许中文变量(不建议)。

请添加图片描述

1.2.5预定义变量

预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)

$_GET						//:获取所有表单以get方式提交的数据$_POST						//:POST提交的数据都会保存在此$_REQUEST					//:GET和POST提交的都会保存$GLOBALS					//:PHP中所有的全局变量$_SERVER					//:服务器信息$_SESSION					//:session会话数据$_COOKIE					//:cookie会话数据$_ENV						//:环境信息$_FILES						//:用户上传的文件信息

1.2.6可变变量

可变变量:如果一个变量保存的值刚好是另外一个变量的名字,那么可以直接通过访问一个变量得到另外一个变量的值:在变量前面再多加一个$符号。

$a = ‘b’;
$b = ‘bb’;
$$=bb

请添加图片描述

1.2.7变量传值

将一个变量赋值给另外一个变量:变量传值

变量传值一共有两种方式:值传递,引用传递

值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系)

请添加图片描述

引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)

KaTeX parse error: Expected 'EOF', got '&' at position 7: 新变量 = &̲老变量;

请添加图片描述

在内存中,通常有以下几个分区

栈区:程序可以操作的内存部分(不存数据,运行程序代码),少但是快

代码段:存储程序的内存部分(不执行)

数据段:存储普通数据(全局区和静态区)

堆区:存储复杂数据,大但是效率低

代码实现:

请添加图片描述


1.2.8常量基本概念

常量与变量一样,都是用来保存数据的。

常量:const/constant,是一种在程序运行当中,不可改变的量(数据)

常量一旦定义,通常数据不可改变(用户级别)

常量定义形式

在PHP中常量有两种定义方式(5.3之后才有两种)

1、 使用定义常量的函数:define(‘常量名’,常量值);

2、 5.3之后才有的:const 常量名 = 值;

请添加图片描述

常量名字的命名规则

1、 常量不需要使用“$”符号,一旦使用系统就会认为是变量;

2、 常量的名字组成由字母、数字和下划线组成,不能以数字开头;

3、 常量的名字通常是以大写字母为主(与变量以示区别);

4、 常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;

请添加图片描述

注意细节:

1、 Define和const定义的常量是有区别:在于访问权限区别

2、 定义常量通常不区分大小写,但是可以区分,可以参照define函数的第三个参数

1.2.9常量使用形式

常量的使用与变量一样:不可改变值(在定义的时候必须赋值)

请添加图片描述

有的时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数:

constant(‘常量名’)

请添加图片描述

说明:常量和变量的使用

1、 凡是数据会可能变化的,那么肯定是用变量

2、 数据不一定会变的,可以使用常量或者变量(变量居多)

3、 数据不允许被修改的,一定用常量

1.2.10系统常量

系统常量:系统帮助用户定义的常量,用户可以直接使用

常用的几个系统常量

PHP_VERSIONPHP版本号
PHP_INT_SIZE:整形大小
PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)
PHP_INT_MAX:整形能表示的最大值(PHP中整形是允许出现负数:带符号)

请添加图片描述

在PHP中还有一些特殊的常量,他们有双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了

__DIR__:当前被执行的脚本所在电脑的绝对路径
__FILE__:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)
__LINE__:当前所属的行数

请添加图片描述

__NAMESPACE__:当前所属的命名空间
__CLASS__:当前所属的类
__METHOD__:当前所属的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/282243.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符迷宫(期末考模拟题)

很有趣的一道题 难点主要在于对于 * 的处理 题目描述的是可以多次匹配相同的字母,这就涉及到两个方面: 一是这个匹配的相同的字母如何储存 二是当你’ * ‘位置递归结束的时候,你该什么时候变回‘ * ’号 这里给出我的思路,如…

Web安全漏洞分析—文件包含

在当今数字化时代,随着Web应用程序的广泛应用,网络安全问题愈加凸显。其中,文件包含漏洞作为一种常见但危险的安全隐患,为恶意攻击者提供了可乘之机。在这篇博客中,我们将深入探讨文件包含漏洞的本质、攻击手法以及应对…

MeterSphere files 任意文件读取漏洞复现 (CVE-2023-25573)

0x01 产品简介 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准。 0x02 漏洞概述 MeterSphere /api/jmeter/download/files 路径文件存在文件读取漏洞,攻击者可通过该漏洞读取系统重要…

uniapp使用vue3的ref获取dom元素出现undefined

在我的代码里面,已经通过ref来定义想要获取的dom了,但是最后在页面渲染完之后,打印这个dom发现竟然是undefined: 获取不到dom元素: 最后查资料发现: 小程序中,uniapp的ref要绑定在子组件中才能…

银行数字化转型导师坚鹏:银行数字化转型正在重塑您的工作

您好,我是银行数字化转型导师坚鹏。坚持知行果合一,赋能数字化转型!非常荣幸和您分享关于银行数字化转型如何影响老百姓工作的一些思考。 您知道吗?银行数字化转型给您的工作方式带来新变化、新趋势、新潮流啦!在这个…

电脑技巧:笔记本电脑保养技巧诀,让你的电脑多用几年

新到手的宝贝笔记本电脑爱不释手,要想它长久的陪伴,平时的维护与保养自然不能少,今天小编给大家分享一下,如何保养和维护笔记本的各个部件。 一、电 池 电池是笔记本实现移动办公的重要部件,电池状况直接影响了电池的…

1.electron之纯原生js/jquery的桌面应用程序(基础篇)

如果可以实现记得点赞分享,谢谢老铁~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 将 Chromium 和 Node.js 嵌入到了一个二进制文件中,因此它允许你仅需一个代码仓库,就可以撰写支持 Windows、…

技术分享 | 接口测试价值与体系

如果把测试简单分为两类,那么就是客户端测试和服务端测试。移动端的测试包括 UI 测试,兼容性测试等,服务端测试包括接口测试。接口测试检查数据的交换、传递和控制管理过程。它绕过了客户端,直接对服务端进行测试。 接口测试的价值…

实验报告九、使用枚举法验证6174猜想

一、实验目的: 1、了解6174猜想的内容。 2、熟练使用选择结构和循环结构。 3、了解标准库itertools中combinations()函数的用法。 4、熟练使用字符串的join(方法。 5、熟练使用内置函数int()、str()、 sorted()。 二、实验内容: 1955…

【XR806开发板试用】+2.鸿蒙内核

非常感谢基于安谋科技STAR-MC1的全志XR806 Wi-FiBLE开源鸿蒙开发板试用活动!非常感谢极术社区!非常感谢极术小姐姐!非常感谢全志在线开发者社区!非常感谢通过试用申请!非常感谢安谋科技! 接上一篇&#xff…

视频数据卡设计方案:120-基于PCIe的视频数据卡

一、产品概述 基于PCIe的一款视频数据收发卡,并通过PCIe传输到存储计算服务器,实现信号的采集、分析、模拟输出,存储。 产品固化FPGA逻辑,实现PCIe的连续采集,单次采集容量2GB,开源的PCIe QT客…

交叉熵在机器学习里做损失的意义

交叉熵是机器学习中常用的损失函数之一,特别适用于分类任务。其背后的核心思想是衡量两个概率分布之间的差异。在分类问题中,通常有一个真实分布(ground truth distribution)和一个模型预测的分布(predicted distribut…