PHP变量是在开发中经常使用的基本概念之一。在PHP中,我们可以自由命名变量,并利用可变变量的特性动态操作其他变量。同时,变量传递和地址传递也是重要的概念,它们帮助我们在不同的代码块中传递和处理数据。
最后,销毁变量是优化内存和保护数据安全的关键步骤。本文将深入研究这些关键概念,助您更好地理解和应用PHP中的变量。
变量命名
<?php
$a //字母开头正确
$a1 //字母开头+数字正确
$1a //数字开头+字母不正确
$_1a //下划线开头+数字+字母正确
?>
PS:
1、变量须以$开头,$符不是变量的一部分,仅表示后面标识符是变量名
2、除了$以外,以字母、下划线开头,后面跟数字、字母、下划线
3、变量名区分大小写,$aa和$Aa是两个空间
可变变量
<?php
$a=10;
$b='a';
echo $$b; //10
?>
随机变量
<?php
$name1='tom';
$name2='berry';
if(rand(1,10%2){
$name='name1';//将变量名存储在$name中
}else{
$name='name2';
}
echo $$name;
?>
PS:
1、可变变量,变量名可变,将变量名存储另外一个变量中
2、%是一个求余运算符,%2 计算随机数 rand(1,10) 对2取余
3、条件语句if{变量}else{变量}判断结果如果是1显示$name1 如果2显示$name2
4、rand(1,10)%2:获取1-10的随机整数,取余2的结果。
5、$$name获取$name的值作为新的变量名并返回该变量的值。
变量传递
值传递
<?php
$num1=10;//将10赋给$num1
$num2=$num1;//将$num1赋给$num2
$num2=20;//更改$num2
echo $num1;//10
?>
地址传递
<?php
$num1=10;//将10赋给$num1
$num2=&$num1;//将$num1的地址赋给$num2
$num2=20;//更改$num2
echo $num1;//20
?>
PS:
1、参数的传递有两种,值传递和地址传递
2、&表示获取变量的地址
3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间
4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间
销毁变量
<?php
$num1=10;
$num2=&$num1;
unset($num1);//销毁的是变量名
echo $num2;//10
?>
PS:用unset()来销毁变量,销毁的是变量名,变量值由PHP垃圾回收机制销毁
课后作业
1、请写出一个合法的PHP变量命名示例,并解释命名规则。
2、使用可变变量将字符串"hello"赋值给变量$greeting,并打印出该变量的值。
3、使用值传递,请分析以下代码的执行结果:
<?php
$num1 = 50;
$num2 = $num1;
$num2 = 30;
echo $num1;
?>
选择答案:A(50) B(30) C(需要修改代码才能得出结果) D(报错)
4、解释什么是地址传递,在PHP中如何实现地址传递?
5、解释销毁变量的作用,并提供一个示例代码说明如何销毁一个变量。
作业答案
广告插入