开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1143|回复: 0
收起左侧

[PHP相关教程] PHP - 变量作用域

[复制链接]
发表于 2020-7-15 16:21:11 | 显示全部楼层 |阅读模式   山东省德州市

变量作用域

  • 变量作用域,也叫变量范围,即定义变量是的上下文环境

  • 通俗的说就是变量的生效范围

  • 一个变量必定属于一个作用域,这个作用域也包括了当前作用域中引入的其他文件

  • 也有不受作用域限制的变量,例如超全局变量,在程序中的任何方都是有定义的

  • 函数作用域:php 中只有函数可以创建作用域,函数之外的代码全部在全局空间中

作用域 描述
函作用域 使用function关键字创建的作用域
全局作用域 函数之外的变量生效范围
  • php 中没有块作用域的的概念,这与其他编程语言不同

  • 根据作用域的不同,变量可以分为三类

变量类型 描述
私有变量 函数中定义的变量
全局变量 函数之外定义的变量
超全局变量 也叫预定义变量,访问不收受作用域的限制
  • 超全局变量,也叫超全局数组,随系统加载,因此在所有脚本中均有定义,全局和函数中都可以访问
序号 变量名 描述
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>';
您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表