PHP学习笔记-变量概念及使用

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

变量基本概念
变量来源于数学,是计算机语言中能存储计算结果或能表示值抽象概念;变量可以通过变量名访问,在指令式语言中,变量通常是可变的;
1.变量是用来存储数据的;
2.变量是存在名字的;
3.变量是通过名字来访问的:数据;
4.变量是可以改变的:数据;就像杯子一样,可以装不同的饮品,但是杯子没变;

变量的使用
PHP中的所有变量都必须要使用"$"符号;
1.定义:在系统中添加对应的变量名字(内存);
2.赋值:可以将数据赋值给变量名(可以在定义的同时完成);
3.可以通过变量名访问存储的数据;
4.可以将变量从内存中删除;
使用样例

<?php
   //变量
   //定义变量在php中不需要任何关键字,只要$符号
   $var1;       //定义变量
   $var2=1;     //定义变量并赋值
   
   //访问变量
   echo $var2;  //通过变量名访问到内容1,然后输出
   
   //修改变量
   $var2=2;    //相当于把杯子里的水倒掉换成果汁
   echo $var2; //修改后通过变量名访问到内容2,然后输出
   
   //删除变量:使用unset(变量名)
   unset($var2);
   echo $var2; //删除后该变量不存在故而无法访问,删除内存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
变量命名规则
1.在PHP中变量名字必须以"$“符号开始;
2.名字由字母,数字和下划线”_"构成,但是不能以数字开头;
3.在PHP中本身还允许中文变量(不建议这样做);

//变量命名规则
$var1;$var_var_1;$_var1;  //正确格式
$1var;    //错误格式

//中文变量
$中国='China'; //中文变量并赋值
1
2
3
4
5
6
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储中许多需要用到的数据(预定义变量都是数组);
$_GET:获取所有表单以get方式提交的数据;
$_POST:POST提交的数据都会保存在此;
$_REQUEST: GET和POST提交的都会保存;
$GLOBALS:PHP中所有的全局变量
$_SERVER:服务器信息
$_SESSION:session会话数据
$_COOKIE:cookie会话数据
$_ENV:环境信息
$_FILES:用户上传的的文件信息

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

$a='b';
$b='bb';
//$$a就可以得到 bb
1
2
3
变量传值
将一个变量赋值给另一个变量:变量传值;

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

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

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

在内存中,通常有以下几个分区;
栈区:程序可以操作的内存部分(不存数据,但运行程序代码),少但是快;
代码段:存储程序的内存部分(只存储不执行);
数据段:存储普通数据(全局区和静态区等);
堆区:存储复杂数据,大但是效率低;

<?php
   $a=1;
   $b=$a;  //值传递
   $b=2;
   echo $a,$b; //1,2
1
2
3
4
5
<?php
   $a=1;
   $b=&$a;  //引用传递
   $b=2;
   echo $a,$b; //2,2
1
2
3
4
5
文章记录来源于B站up主黑马程序员发布的视频学习;1

https://www.imdb.com/list/ls085108836/
https://www.imdb.com/list/ls085108867/
https://www.imdb.com/list/ls085108866/
https://www.imdb.com/list/ls085108864/
https://www.imdb.com/list/ls085108869/
https://www.imdb.com/list/ls085108840/
https://www.imdb.com/list/ls085108842/
https://www.imdb.com/list/ls085108848/
https://www.imdb.com/list/ls085108895/
https://www.imdb.com/list/ls085108896/
https://www.imdb.com/list/ls085150001/
https://www.imdb.com/list/ls085150009/
https://www.imdb.com/list/ls085150052/
https://www.imdb.com/list/ls085150013/
https://www.imdb.com/list/ls085150505/
https://www.imdb.com/list/ls085150571/
https://www.imdb.com/list/ls085150578/
https://www.imdb.com/list/ls085150519/
https://www.imdb.com/list/ls085150568/
https://www.imdb.com/list/ls085150582/
https://www.imdb.com/list/ls085150732/
https://www.imdb.com/list/ls085150793/
https://www.imdb.com/list/ls085150117/
https://www.imdb.com/list/ls085150113/
https://www.imdb.com/list/ls085150119/
https://www.imdb.com/list/ls085150162/
https://www.imdb.com/list/ls085150120/
https://www.imdb.com/list/ls085150121/
https://www.imdb.com/list/ls085150129/
https://www.imdb.com/list/ls085150146/
https://www.imdb.com/list/ls085150183/
https://www.imdb.com/list/ls085150300/
https://www.imdb.com/list/ls085150306/
https://www.imdb.com/list/ls085150355/
https://www.imdb.com/list/ls085150359/
https://www.imdb.com/list/ls085150374/
https://www.imdb.com/list/ls085150317/
https://www.imdb.com/list/ls085150319/
https://www.imdb.com/list/ls085150337/
https://www.imdb.com/list/ls085150339/
https://www.imdb.com/list/ls085150325/
https://www.imdb.com/list/ls085150323/
https://www.imdb.com/list/ls085150326/
https://www.imdb.com/list/ls085150329/
https://www.imdb.com/list/ls085150347/
https://www.imdb.com/list/ls085150395/
https://www.imdb.com/list/ls085150396/
https://www.imdb.com/list/ls085150380/
https://www.imdb.com/list/ls085150387/
https://www.imdb.com/list/ls085150386/
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值