3-2变量2.变量的内存分配栈内存内存内存栈内存内存栈内存过程1过程2初始状态“李四”“张三”“张三”SuserNameSuserName-内存栈内存内存栈内存栈内存内存“男”FALSE过程4FALSE过程5“李四”SsexSsex“李四”“李四”SuserNameSuserNameSuserName内存栈内存内存内存内存栈内存“男”过程8初始状态过程7Ssex“李四”“李四”SuserNameSuserNamePHP编程基础与实例教程
PHP编程基础与实例教程 3-2 变量 2. 变量的内存分配 栈内存 内存 栈内存 内存 $userName “张三” 栈内存 内存 $userName “张三” “李四” 栈内存 内存 $userName $sex “李四” FALSE 栈内存 内存 $userName $sex “李四” FALSE “男” 栈内存 内存 $userName $sex “李四” “男” 栈内存 内存 $userName “李四” 栈内存 内存 初始状态 过程1 过程2 初始状态 过程3 过程5 过程6 过程7 过程8 栈内存 内存 $userName “李四” 过程4
3-2变量例如程序byValue.php:<?php3.变量赋值方式$agel=18;1/以下语句进行传值赋值,变量$age1的值18赋值给变量$age21传值赋值方式$age2 = $agel;//以下语句修改变量$age2的值,此时变量$age2在内存2传地址赋值方式中开辟新的空间存储值20$age2=20;echo$agel://该语句输出sage1变量的值为18echo"<br/>"echo$age2://该语句输出$age2变量的值为20?>例如程序byReference.php:<?php$agei=18;1/以下语句进行传值赋值,变量$age1的值18赋值给变量$age2$age2=&sagel;//以下语句修改变量$age2的值,此时变量$age2在内存中开辟新的空间存储值20$age2=20;echo$agel;//该语句输出$age1变量的值为20echo"<br/>";echo$age2://该语句输出$age2变量的值为20?>PHP编程基础与实例教程
PHP编程基础与实例教程 3-2 变量 3. 变量赋值方式 1.传值赋值方式 2.传地址赋值方式 例如程序byValue.php: <?php $age1 = 18; //以下语句进行传值赋值,变量$age1的值18赋值给变量 $age2 $age2 = $age1; //以下语句修改变量$age2的值,此时变量$age2在内存 中开辟新的空间存储值20 $age2 = 20; echo $age1;//该语句输出$age1变量的值为18 echo "<br/>"; echo $age2;//该语句输出$age2变量的值为20 ?> 例如程序byReference.php : <?php $age1 = 18; //以下语句进行传值赋值,变量$age1的值18赋值给变量 $age2 $age2 = &$age1; //以下语句修改变量$age2的值,此时变量$age2在内存 中开辟新的空间存储值20 $age2 = 20; echo $age1;//该语句输出$age1变量的值为20 echo "<br/>"; echo $age2;//该语句输出$age2变量的值为20 ?>
3-2变量4.可变变量PHP提供了一种特殊类型的变量:可变变量。可变变量允许PHP程序动态地改变一个变量的变量名,可变变量的工作原理是用一个变量的“值”作为另一个变量的“名”。例如程序variableNameChanged.php:<?php$varname ="age"://用ssvarname取代sage。下面的代码等价于:$age=20;$$varname =20;echo$age;//输出$age变量的值:20?>PHP编程基础与实例教程
PHP编程基础与实例教程 3-2 变量 4. 可变变量 PHP提供了一种特殊类型的变量:可变变量。可变变量允 许PHP程序动态地改变一个变量的变量名,可变变量的工作原 理是用一个变量的“值”作为另一个变量的“名” 。 例如程序variableNameChanged.php : <?php $varname = "age"; //用$$varname取代$age。下面的代码等价于:$age = 20; $$varname = 20; echo $age; //输出$age变量的值:20 ?>
3-3有关变量或常量状态的函数1.数据类型香看函数1.gettype0函数语法格式:stringgettype(mixedvar)函数功能:gettype()函数需要变量名(带$符号)或常量名作为参数,该函数返回变量或常量的数据类型,这些数据类型包括:integer、double、string、array、object、unknowntype等。2.var_dumpO函数语法格式:voidvar_dump(mixedvar)函数功能:var_dump0函数需要传递一个变量名(带$符号)或常量名作为参数,该函数可以得到变量或常量的数据类型以及对应的值,并将这些信息输出。函数说明:调试程序时,经常使用vardump0函数查看变量或常量的值、数据类型等信息。PHP编程基础与实例教程
PHP编程基础与实例教程 3-3 有关变量或常量状态的函数 1. 数据类型查看函数 1.gettype()函数 语法格式:string gettype ( mixed var ) 函数功能:gettype()函数需要变量名(带$符号)或常量名作 为参数,该函数返回变量或常量的数据类型,这些数据类型包 括:integer、double、string、array、object、unknown type等。 2.var_dump()函数 语法格式:void var_dump (mixed var ) 函数功能:var_dump()函数需要传递一个变量名(带$符号) 或常量名作为参数,该函数可以得到变量或常量的数据类型以 及对应的值,并将这些信息输出。 函数说明:调试程序时,经常使用var_dump()函数查看变量 或常量的值、数据类型等信息
3-3有关变量或常量状态的函数2.检查常量或变量是否定义函数1definedO函数语法格式:booldefined(stringname)函数功能:检查常量是否经过defineO函数定义。该函数参数为常量名(注意常量名必须带双引号或单引号),如果常量经过defineO函数定义,该函数返回布尔值TRUE,否则返回FALSE。2.issetO函数语法格式:boolisset(mixedvar)函数功能:检香变量var是否定义。该函数参数为变量名(带$号),如果变量已经定义,该函数返回布尔值TRUE,否则返回FALSE。PHP编程基础与实例教程
PHP编程基础与实例教程 3-3 有关变量或常量状态的函数 2. 检查常量或变量是否定义函数 1.defined()函数 语法格式:bool defined ( string name ) 函数功能:检查常量是否经过define()函数定义。该函数参数 为常量名(注意常量名必须带双引号或单引号),如果常量经 过define()函数定义,该函数返回布尔值TRUE,否则返回 FALSE。 2.isset()函数 语法格式:bool isset ( mixed var ) 函数功能:检查变量var是否定义。该函数参数为变量名(带$ 号),如果变量已经定义,该函数返回布尔值TRUE,否则返 回FALSE