批改状态:合格
老师批语:
(a-z,A-Z),数字(0-9),下划线(\_)或他们的组合$“美元符为前缀严格区分大小写大写字母表示| 转换方式 | 函数 |
|---|---|
| 临时转换 | (int),(string),(array),(object)… |
| 自动转换 | 根据操作符对操作数的类型要求进行 |
| 强制转换 | settype() |

大家可以看到$str没有转换之前是string 字符串类型,下面我们用(int)临时转换为数值型

大家可以看到现在进行类型转换之后$str变成了int数值型,和$int一模一样的类型值,但是这种类型转换不是永久的!而是临时的!

类型没有转换之前是字符串 15岁

用@符号抑制报错浏览器将会自动转换类型,类型转换之后15岁变成65,自动和数值类型相加,舍去了后面的字符串文字

$arr 没有转换类型之前是一个数组Array

强制类型转换为string,输出的类型就是字符串string
<?php//定义全局变量$str = '15';$int = 30;//使用(int) 临时把字符串转换为数值echo (int)$str + $int .'<br>';var_dump((int)$str,$int);echo "<hr>";//自动转换类型$age = "15岁";//@符 强制解除报错,会让浏览器自动解析@$age += 50;echo $age;echo "<hr>";//settype()强制类型转换,把一个数组类型转换为string类型$arr = ['1','2','3'];settype($arr,'string');echo gettype($arr);?>

变量a等于50 变量b等于变量a,输出变量b也等于50,这叫变量值传递,我们再看看更改变量a的值,变量b会不会改变属性

我们可以看到,变量a的值改变成100,变量b的值没有变化还是50,变量值传递等于每个人都有相同的值,重新更改赋值变量并不能改变被赋值本身的值,如果在下面在输出一个 变量b等于a呢?

我们可以看到,如果在下面在输出一个 变量b等于a,则变量b等于变量a最新的那个值,也就是说浏览器是从上到下开始解析的,这一点非常重要

变量值引用,用一个&符号放在要引用的变量前面,接下来我们改变一下$c的值,看看$a会不会受影响

大家可以看到,我们在这里改变了$c的值,$a的值也会收到影响,说明变量值传递和变量值引用是不一样的!
| 方法 | 含义 |
|---|---|
| isset() | 用来检测变量是否被定义,若变量存在并且值不为null才返回true 否则返回false |
| empty() | 检验变量是否为空,为空返回true 不为空 返回false |

变量有值不为空,返回false

变量没有值返回true

变量值不存在返回false

变量值存在返回true
<?php//值变量传递//变量a等于50 变量b等于变量a$a = 50 ;$b = $a ;$a = 100 ;$b = $a ;echo $b;echo '<hr>';//变量值引用 用&符号$c = 50;$a = &$c;//改变一下$c的值$c = 100;echo $a ;echo "<hr>";// $c = null;//empty 检验变量是否为空,为空返回true 不为空 返回falsevar_dump(empty($c));echo "<hr>";//isset 用来检测变量是否被定义,若变量存在并且值不为null才返回true 否则返回falsevar_dump(isset($c));
| 名称 | 含义 |
|---|---|
| 全局变量 | 全局变量,声明全局外部的变量,不在函数里面的变量,函数内部无法直接访问全局变量,必须加上global 才访问全局变量 |
| 局部变量 | 局部变量,声明在函数里面的变量 |

全局变量,函数内部无法直接访问外面的全局变量,要加上global才能访问到

用global访问外面的全局变量,多个值用,号隔开

局部变量声明在函数内部,外部无法访问到函数内部声明的变量
| 系统预定义魔术常量 | 含义 |
|---|---|
| __FILE__ | 默认常量,PHP程序文件名 |
| __LINE__ | 默认常量,PHP程序行数 |

__FILE__默认常量,PHP程序文件名也就是当前文件所在的目录

__LINE__默认常量,PHP程序行数
<?php//变量作用域:全局变量声明全局外部的变量//这是全局变量// $a = 100;// $b = 20;// function Sum(){// global 访问外面的全局变量// global $a ,$b;// 如果没有global 则不能直接访问外面的全局变量// return $a * $b ;// }// echo Sum();//局部变量:声明在函数内部function Sum(){$a = 50 ;$b = 30 ;return $a / $b ;}echo Sum();echo "<hr>";//声明在函数内部的变量无法访问echo $a ;echo "<hr>";//系统预定义魔术变量// echo __FILE__; //当前文件所在的目录var_dump( __LINE__);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号