前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP面试常考易错题之变量作用域解析

PHP面试常考易错题之变量作用域解析

作者头像
思梦php
发布2018-10-25 11:10:54
8410
发布2018-10-25 11:10:54
举报
文章被收录于专栏:PHP实战技术PHP实战技术

PHP面试中变量作用域是面试中常常出现的问题,也是必考的问题,下面就给大姐讲解一下在面试中注意的点:

# living example one

$A="Hello ";

functionprint_A()

{

$A = "phpmysql !!";

global $A;

//global 全局变量 函数是独立的模块 $A外界定义的

echo $A;

}

echo $A; //output Hello

print_A(); //out pot Hello

在你将$A定义为全局变量的时候,并未修改$A的值

考点:

局部变量和全局变量的作用域,函数外部变量为全局变量(本页面以及引入页面),函数内部变量为局部变量

易错点:

答题者区分不清局部变量和全局变量的概念,导致不能准确写出函数输出结果

分析:

1)局部变量只能在函数内部产生作用以及被使用,无论外部怎么修改都将失效,这样也就保证了我们在同一个页

面定义相同名称的变量时候不会出现异常

2)全局适用于多个函数以及多个页面都需要用到时可声明,这样也就能节省内存空间,但是应用时重复定义被覆

盖导致异常的问题也要注意

# living example two

function test(){

$num = 10;

echo $num;

}

test(); //output 10

echo $num;

$num = $num+10;

echo $num;

分析:

以上代码会导致一个变量未定义的waring,我们尚且忽略

1)$num是一个局部变量,那么你在函数内部输出,并且调用函数方法时候会输出10,但是无论你在外面怎么操作

$num这个变量两者都不是同一个变量,因此也不会产生实质性的效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 思梦PHP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档