精易论坛

标题: PHP - 变量作用域 [打印本页]

作者: dream518    时间: 2020-7-15 16:21
标题: PHP - 变量作用域

变量作用域




















作用域 描述
函作用域 使用function关键字创建的作用域
全局作用域 函数之外的变量生效范围























变量类型 描述
私有变量 函数中定义的变量
全局变量 函数之外定义的变量
超全局变量 也叫预定义变量,访问不收受作用域的限制

























































序号 变量名 描述
1 $GLOBALS 引用全局作用域中可用的全部变量
2 $_SERVER 服务器和执行环境信息
3 $_GET HTTP GET 请求:通过 URL 参数传递给当前脚本的变量的数组
4 $_POST HTTP POST 请求:将变量以关联数组形式传入当前脚本
5 $_FILES HTTP 文件上传变量,保存着上传文件的全部信息
6 $_COOKIE 通过 HTTP cookies 方式传递给当前脚本的变量的数组
7 $_SESSION 当前脚本可用 SESSION 变量的数组
8 $_REQUEST 默认情况下包含了$_GET $_POST $_COOKIE 的数组
9 $_ENV 通过环境方式传递给当前脚本的变量的数组

示例代码



<?php
# 变量类型转换

// 自动转换

$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;

echo $a + 10, '<br>';
echo $b + 10, '<br>';
// 字符串转数值型会有警告,但代码仍会执行, 推荐使用强制转换
echo $d + 10, '<br>';
echo $e + 10, '<br>';
// 整数15转为字符串'15'
echo $e . $f;

echo '<hr>';

// 强制转换

// 转换提示符: (int),(sgring)...
// (int)将$d强制转为整数,不再有警告信息
echo (int) $d + 10, '<br>';
// intval()转整数
echo intval($d) + 18, '<br>';
// strval($f)转字符串
echo strval($f) . ' hello', '<br>';

// 以上通过提示符和函数完成的强制转换,并不改变变量原始类型
// $f 依然是整数类型:integer
echo gettype($f), '<br>';

// settype()可将变量类型永久转换
settype($f, 'string');
// $f 永久的成为字符串类型
echo gettype($f), '<br>';






欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4