欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 经验分享 > PHP > Php变量详解

Php变量详解

2018-07-26 587 收藏 0 赞一个 0 真差劲 0 去评论

目前很多phper针对变量很多都理解不清楚,只知道,但是变量分为哪些,今天李书记就给大家分析做一个总结吧,变量的各种形式今天由于时间有限,变量部分会分为两天的文章去分析和讲解,希望phper们能有所收获。

基本理解

变量可以理解为只是一个代表一定存储空间及其中的数据的一个“标识符”——也就是一个名字。

$v1 = 1; 这一行代码,图示如下:

1.jpg

这表明,使用该变量,就是在使用该数据空间的数据值!比如: 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,该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”——通常就被自动回收了

2.jpg

$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赋值。

3.jpg

可见,值传递,就是变量v1的值进行了复制,然后在给另一个变量v2赋值。

注意:

1这两个变量此时是值相等的;

2这两个变量又是互相独立的——互不影响;

即$v1 = 10; 则echo $v2 ;//输出1

引用传递

php中,只有一种语法形式可以实现变量的引用传值方式:&符号。

举例如下:

$m1 = 1;
$m2 = & $m1; //引用传值方式

简单理解: 将变量$m1跟其数据值之间的“引用关系”,复制一份,再给予变量$m2,即,此时,变量$m2也同样具有跟原来数据的一个“引用关系”(指向关系);

4.jpg

结果是:

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

大家评论