批改状态:合格
老师批语:
变量是用于储存信息的容器.
命名规则
可变变量
变量名可变, 将变量名存储在另外一个变量中
$$
$user = 'ali';$$user = 'haha'; //可变变量
= 值传递= & 地址传递
$test1 = 'hello';$test2 = $test1;$test3 = &$test1;printf("test1:%s, test2:%s, test3:%s", $test1,$test2,$test3); // 输出为test1:hello, test2:hello, test3:helloecho "<hr>";// test1更新值,$test1 = 'world';printf("test1:%s, test2:%s, test3:%s", $test1,$test2,$test3); // 输出为test1:world, test2:hello, test3:world
$test1 = 'hello';$test3 =& $test1;unset($test1);printf("test1:%s, test3:%s",$test1,$test3); //输出为 test1:, test3:hello
变量的类型转换方式
php是弱类型语言,变量的类型随值的变化而变化.
php变量有8种变量类型:4标量类型(int, float, string, bool); 2复合类型(array, object); 2特殊类型(resource, null)
$num1='12';var_dump($num1,(int)$num1,(float)$num1); //string(2) "12" int(12) float(12)
+ - * / 会把变量转化为数字运算..会把变量转为字符参与运算.
// 数值运算$foo = '100pages';@$foo += 200;var_dump($foo);// int(300)// 字符串拼接符var_dump($foo);// int(300)echo 'how are you' . 100 . '<br>';
if (!'0') : // 0为falseecho 'true'; //trueendif;
settype($p,'integer');echo gettype($p);//integer
变量的作用域
1、全局变量:在函数外面定义的变量. $GLOBALS保存的是全局变量的所有的值
2、局部变量:在函数里面定义的变量,默认情况下,函数内部是不会去访问函数外部的变量,要在一个函数中访问一个全局变量,需要使用 global 关键字。
3、超全局变量:是在全部作用域中始终可用的内置变量
$GLOBALS: 引用全局作用域中可用的全部变量
$_SERVER: 服务器和执行环境信息
$_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
$_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
$_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
$_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
$_SESSION:当前脚本可用 SESSION 变量的数组
$_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
$_ENV: 通过环境方式传递给当前脚本的变量的数组
常量是一个简单值的标识符(名字)。常量值被定义后,在脚本的其他任何地方都不能被改变。
注意:常量没有作用域的概念
命名规则
由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
常量的定义
const GENDER = '女';
define()函数定义常量
define('%%', 'tom');echo constant('%%');
类的常量
类常量只能使用const定义
php中魔术常量有哪些?
魔术常量它们的值随着它们在代码中的位置改变而改变
| 名称 | 说明 |
|---|---|
| LINE | 文件中的当前行号。 |
| FILE | 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。 |
| DIR | 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。 |
| FUNCTION | 当前函数的名称。匿名函数则为 {closure}。 |
| CLASS | 当前类的名称。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 CLASS 对 trait 也起作用。当用在 trait 方法中时,CLASS 是调用 trait 方法的类的名字。 |
| TRAIT | Trait 的名字。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。 |
| METHOD | 类的方法名。 |
| NAMESPACE | 当前命名空间的名称。 |
| ClassName::class | 完整的类名, |
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号