Php变量详解
目前很多phper针对变量很多都理解不清楚,只知道,但是变量分为哪些,今天李书记就给大家分析做一个总结吧,变量的各种形式今天由于时间有限,变量部分会分为两天的文章去分析和讲解,希望phper们能有所收获。
基本理解
变量可以理解为只是一个代表一定存储空间及其中的数据的一个“标识符”——也就是一个名字。
$v1 = 1; 这一行代码,图示如下:
这表明,使用该变量,就是在使用该数据空间的数据值!比如: echo $v1; ///输出的是数据1 $v2 = $v1 + 3; //此时,其实进行的是1+3的计算! 使用形式:每个变量名前面必须以$开头。 定义形式:php中,不支持“单纯定义”一个变量,而是,在第一次一个变量赋值的时候,就算是定义变量! 变量的基本操作只有4个操作: 变量赋值:
等号(=)的左边放变量名,右边放“数据”,就是赋值;
$v1 = 1; 变量取值:
任何需要一个数据的语句中使用一个变量,此时就是指从该变量取得该变量的值——取值;
概括来说,大约有如下情形:
echo $v1; //取出v1的值并输出 $v2 = $v1; //取出v1的值并给其他变量赋值; $v2 = $v1 + 3; //取出v1的值并与3进行运算! $v2 = round( $v1 ); //取出v1的值并并使用函数round()对其进行四舍五入运算
判断isset(变量名):
作用:判断该变量是否存在,或该变量是否有数据值!存在或有数据值,就是true,否则就是false
<?php $v1 = isset($s1);//判断$s1是否存在,结果是false $s2 = 2; $v2 = isset($s2);//true $s3 = false; $v3 = isset($s3); //true $s4 = ""; $v4 = isset($s4); //true $s5 = null; $v5 = isset($s5); //false ?>
删除unset(变量名):
含义:删除一个变量,并不是指将该变量从程序中删掉,而是,“断开”该变量名跟该变量原有的数据值之间的“引用关系”(联系)!,此时,会有这样的结果:
1,该变量名已经不指向(引用)任何数据了,则此时其isset()判断的结果就是false
2,该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”——通常就被自动回收了
$v1 = 1; unset($v1); $s1 = isset($v1); //false
变量命名规则基本规则——保证程序的正确性
以字母或下划线开头
后跟任意数量(含0个)的字母,数字和下划线
行业规则——保证程序的可读性
有3种常见的命名法: 1,骆驼命名法:首单词小写,其后每个单词首字母大写
举例:$name $myName $myFatherName
2,帕斯卡命名法:每个单词首字母大写
举例:$Name $MyName $MyFatherName
3,下划线分割法:每个单词小写,并且之间用下划线分开
举例:$name $my_name $my_father_name
变量的传值方式
1,变量的传值方式,是指“一个变量,传给另一个变量”的内部细节形式——单对单;
2,变量的传值方式,只有2中:值传递,引用传递;
值传递
$v1 = 1; $v2 = $v1; //这就是值传递
简单理解:将$v1的值取出来(注意:$v1中的值还在),然后再用该值给$v2赋值。
可见,值传递,就是变量v1的值进行了复制,然后在给另一个变量v2赋值。
注意:
1这两个变量此时是值相等的;
2这两个变量又是互相独立的——互不影响;
即$v1 = 10; 则echo $v2 ;//输出1
引用传递
php中,只有一种语法形式可以实现变量的引用传值方式:&符号。
举例如下:
$m1 = 1; $m2 = & $m1; //引用传值方式
简单理解: 将变量$m1跟其数据值之间的“引用关系”,复制一份,再给予变量$m2,即,此时,变量$m2也同样具有跟原来数据的一个“引用关系”(指向关系);
结果是:
1,此时仍然有了2个变量,但只有一个数据值(数据空间),2个变量都共同指向该数据空间。
2,对其中任何一个变量的操作,其实都是在操作数据值(空间);
代码对比演示:
<?php $v1 = 1; $v2 = $v1; //值传递; $v1 = 10; echo "<br />v1 = $v1";//10 echo "<br />v2 = $v2";//1 unset($v1); //断开$v1跟其数据的关系 $r1= isset($v2); //?? echo "<br />"; var_dump($r1);//true echo "<hr />"; $m1 = 1; $m2 = & $m1; //引用传值方式 $m1 = 10; echo "<br />m1 = $m1";//10 echo "<br />m2 = $m2";//10 unset($m1);//断开$v1跟其数据的关系 $r2 = isset($m2); //?? echo "<br />"; var_dump($r2);//true ?>
可变变量:
$s1 = “abc”; //这是一个变量,里面存储的是字符串”abc” $abc = 10; // echo $$s1; //???,输出10
理解:
1,在php中,一个”$”后面,总是跟着一个变量名!
2,这里,echo输出的这个变量(以第一个$为标识)的名字是:$s1, 即”abc”
3,所以,这里输出的是 $abc, 即 10
4,这种连续出现“$”的变量形式,就是所谓的“可变变量”;
<?php $s1 = 'abc'; //这是一个变量,里面存储的是字符串”abc” $abc = 10; // echo $$s1; //???,输出10 //以下演示“可变变量”的灵活性: //所谓可变变量,其实就是变量的名字是可以“动态变化”以获取不同的数据值 $v1 = 1; $v2 = 12; $v3 = 33; $v4 = 44; $v5 = 115; //求这5个变量的和; //其他语言,只能“一个一个”加起来。 $sum = 0; //用于存储总和 for($i = 1; $i <= 5; $i++){ $v = "v" . $i; //这里,结果其实只是一个“字符串”,比如"v1","v2"... $sum += $$v; } echo "<br />sum = $sum"; ?>
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法