PHP 变量和常量

PHP 基本语法

PHP 是一种运行在服务器端的脚本语言,可以嵌入到 HTML 中

1、PHP 代码标记

  • ASP 标记(asp_tags,已弃用) <% php代码 %>
  • 段标记(short_open_tags, 已弃用) <? php代码 ?>
  • 脚本标记 <script language="php" >php代码</script>
  • 标准标记(常用) <?php php代码 ?>

2、PHP 注释

解析过程中会被忽略

// 行注释
# 注释一行/* 块注释* 多行注释
*/

3、PHP 语句分隔符(分号)

<?phpecho 'hello world';
echo 'hello world';

特殊说明:

  • 标记结束符?> 可以省略,如果是单独的 PHP 文件,一般会省略
  • 最后一行结尾的分号可以省略,不推荐

PHP 变量

PHP 是一种动态网站开发的脚本语言,动态语言的特点是交互性,会有数据传递

1、概念

  • 变量可以存储数据
  • 变量有名字
  • 变量可以通过名字访问数据
  • 变量可以改变

2、使用

变量必须使用$开头

  • 定义:在系统内存中增加对应的变量名
  • 赋值:将数据赋值给变量,可以再定义的同时完成
  • 访问:可以通过变量名访问数据
  • 删除:将变量从内存中删除
<?php// 定义变量
$var1;// 定义同时赋值
$var2 = 1;// 访问变量
echo $var2 . '<br>';// 修改变量
$var2 = 2;
echo $var2 . '<br>';;// 删除变量
unset($var2);
echo $var2;

3、变量命名规则

  • PHP 变量名必须以$开头
  • 可以使用数字,字母,下划线,不能以字母开头
  • 支持中文,不建议
<?php// 正确形式
$var1;$var_2;$_var_3;// 错误格式
// $1var;// 支持中文
$中文 = 'china';

4、预定义变量(系统定义的变量)

$_GET     GET提交的数据
$_POST    POST提交的数据
$_REQUEST GET和POST的提交的数据
$GLOBALS  全局变量
$_SERVER  服务器信息
$_SESSION session
$_COOKIE  cookie
$_ENV     环境变量
$_FILES   用户上传的文件信息

5、可变变量

如果一个变量保存的值,刚好是另一个变量的名字,那么可以直接通过访问一个变量得到另一个变量的值

在变量前多加一个$符号

<?php$a = 'b';
$b = 'bb';echo $$a;
// 输出:bb

6、变量传值

将一个变量赋值给另一个变量

变量传递方式

  • 值传递:变量的值复制一份,给另个变量保存,(两个变量没有关系)
  • 引用传递:将变量保存的值所在内存地址,赋值给另一个变量,两个变量指向同一块内存地址(两个变量是同一个值)

内存分区

  • 栈区:程序可以操作的内存部分,不存数据,运行程序代码
  • 代码段:存储程序,不执行
  • 数据段:存储普通数据(全局区和静态区)
  • 堆区:存储复杂数据,效率低

值传递

$a = 1;
$b = $a;
栈区  数据段
$a -> 1
$b -> 1(副本)

引用传递

$a = 1;
$b = &$a;
栈区  数据段
$a -> 1
$b -> 1(同一个值)

PHP 常量

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

1、常量的基本概念

  • 常量 const / constant 程序运行中,不可改变的量

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

2、常量定义形式

<?php// 方式一
define(常量名, 常量值);// eg
define('PI', 3.14);// 方式二: php > 5.3
const 常量名 = 常量值;// eg
const PIPI = 3.14;

3、常量命名规则

  • 常量不需要使用$符号,$开头的系统认为是变量
  • 常量有数字、字母、下划线组成,不能以数字开头
  • 常量名通常以大写字母为主,与变量区别

define 可以定义特殊常量

<?phpdefine('-_-', 3.14);

区别

  • 访问权限有区别
  • define 定义常量通常区分大小写,可以通过第三个参数设置
define(string $constant_name, mixed $value, bool $case_insensitive = false): bool// PHP 7.3.0 起废弃了定义不区分大小写的常量。
// ref: https://www.php.net/define

4、使用常量

<?php// 常量
define('PI', 3.14);echo PI;// 特殊符号常量
define('-_-', 3.14);echo constant('-_-');

5、常量和变量的使用

  • 数据可能会变化的,使用变量
  • 数据不一定不会变化,使用常量或变量
  • 数据不允许修改,一定使用常量

系统常量

<?php// PHP版本号
echo PHP_VERSION;
// 7.1.23// 整型占用字节数
echo  PHP_INT_SIZE;
// 8// 整型能表示的最大值
echo  PHP_INT_MAX;
// 9223372036854775807

特殊常量(魔术常量)

__DIR__        当前被执行脚本文件夹绝对路径
__FILE__       当前被执行脚本文件绝对路径
__LINE__       当前行号
__NAMESPACE__  当前命名空间
__CLASS__      当前所属类
__METHOD__     当前所属方法

PHP 零基础入门笔记(3):PHP 变量和常量相关推荐

  1. 11岁过python1级_11岁表弟写的Python零基础入门笔记!

    一.Python输入与输出输出:使用print()函数. print()函数的基本语法格式如下:print(输出内容). 输出内容可以是数字和字符串(字符串需要用引号括起来),也可以是包含运算符的表达 ...

  2. 【Python3零基础入门笔记】05 Python时间处理——time库的使用

    time库的使用: time库基本情况 时间获取 时间格式化 程序计时 文本进度条实例 time库基本情况 Time库是python中处理时间的标准库 计算机时间表达 提供获取系统时间并格式化输出功能 ...

  3. PHP 零基础入门笔记(6):PHP 流程控制

    PHP 流程控制 代码执行的方向 控制分类 顺序结构 代码从上往下,顺序执行 分支结构 根据条件执行某一段代码 循环结构 指定代码块重复执行 顺序结构 最基本的结构,所有代码默认都是从上往下依次执行 ...

  4. PHP 零基础入门笔记(11):字符串 String

    字符串 String 字符串类型 单引号字符串 双引号字符串 nowdoc 字符串 heredoc 字符串 示例 <?php// 1.单引号字符串 $str1 = 'hello world';v ...

  5. PHP 零基础入门笔记(5):PHP 运算符 operator

    PHP 运算符 operator 赋值运算符 = 将右边的结果(变量,数据,常量)保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量 算术运算符 加 + 减 - 乘 * 除 / 取余 % 注意 ...

  6. python 零基础入门笔记

    作用 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,在许多领域都有应用,包括Web编程,脚本编写,科学计算和人工智能等. 特点 Python 是一种: 解释型语言: 开发过程中没 ...

  7. Java零基础入门笔记-准备工作

    自主搭建Java开发环境 (个人建议开一个独立盘用于编程软件安装) 1.下载并安装jdk(1.5以上版本无需配置classpath路径,系统会自动从当前路径下进行查找): 2.配置系统变量(找到&qu ...

  8. Unity C#零基础入门笔记(一)Paws3D笔记

    计算机语言: 计算机语言按发展分为三种: 机器语言 汇编语言 高级语言 机器语言就是机器码,是能够被计算机直接理解的语言.更通俗地讲就是010101这样的二进制指令.和硬件密切相关,编写苦难. 两个主 ...

  9. JavaScript零基础入门--笔记动力节点最新老杜(九-完结)全套笔记精髓

    JSON         1.什么是JSON,有什么用?                     JavaScript Object Notation(JavaScript对象标记),简称JSON.( ...

最新文章

  1. 现场|除了谷歌AI中国中心成立的重磅消息,谷歌开发者大会现场还有这些
  2. 使用 GetStartupInfo 检查自己是否被调试
  3. Python大婶博客汇总
  4. lightning接口_苹果手机接口未来将和安卓手机统一——欧盟通过正式决议
  5. python内存技巧_使用__slots__节省python内存技巧
  6. Gargamel:信息安全取证工具
  7. Webpower中国区发布《2015年中国金融保险行业邮件营销市场报告》
  8. 【光学设计基础】--01像差理论基础
  9. 正则表达式删除空白行
  10. 重访命令征服泰伯利亚太阳
  11. linux马达驱动程序,一种Linux系统的微型针式打印机及其驱动方法与流程
  12. 服务器文件夹共享到本地,云服务器共享本地文件夹
  13. 中国联通物联网平台能力介绍
  14. mysql drop view_SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句 | 菜鸟教程
  15. openwrt中磁盘未分配空间挂载
  16. windows下一些启动服务的命令
  17. linux信号传递给进程,bash中的信号处理机制
  18. jz2440——点亮led
  19. Ed2k链接生成工具介绍
  20. 年度钜献,108个大数据文档PDF开放下载

热门文章

  1. 华南理工大学软件学院2017考研复试机试第一题代码(Java)
  2. 【电大题酷】【3】2269个人与团队管理
  3. 【Unreal Engine 4】虚拟试衣镜
  4. 如何用python编程机器人培训班_如何Python入门
  5. PDF转WORD 介绍一些网站
  6. Windows10远程桌面客户端无法登录,出现“CredSSP encryption...”的解决方法
  7. WIFI 的 传输信道 与标准 WIFI的频道 传输能力
  8. 宽带ISAR高分辨成像技术综述
  9. 饼图加引导线_PPT里的饼图,如何显示引导线?
  10. 相见恨晚,这6个适合安卓用户的浏览器,你用过吗