Skip to Content
PHP编程:第4版
book

PHP编程:第4版

by Kevin Tatroe, Peter MacIntyre
January 2021
Intermediate to advanced
505 pages
9h 45m
Chinese
Publishing House of Electronics Industry
Content preview from PHP编程:第4版
变量作用域
69
就不是这样了。函数保持它们的变量集合不同于页面和其他函数中的变量。
函数中定义的变量以及参数是不能访问外部函数的,并且定义在函数外部的变量也默认
不能访问函数内部的内容。下面举例说明
$a = 3;
function foo()
{
$a += 2;
}
foo();
echo $a;
函数
foo()
中的变量
$a
和外部变量
$a
是不同的。尽管
foo()
使用了相加赋值操作符,
但在页面的整个生命周期中,外部的
$a
的值一直是
3
,而在函数内部,
$a
的值是
2
和第
2
章讨论的一样,变量在程序中可见的范围称为变量的
作用域
。在函数中创建的变量,
变量就在函数的作用域之内(即
函数级的作用域
)。在函数和对象外部创建的变量有
局作用域
,并且存在于函数和对象之外的任何地方。少数由
PHP
本身提供的预定义变量
既有函数级作用域又有全局作用域(常被称作
超级全局变量
)。
乍看时,即使是一个有经验的程序员,也有可能认为前面示例中
$a
的值在执行
echo
句时输出
5
。所以在定义变量时,要多留心。
全局变量
如果想在函数中访问一个全局作用域变量,可以使用
global
关键字。它的语法是
global
var1
,
var2
, ...;
修改前面的示例使其包含一个
global
关键字,可以得到
$a = 3;
function foo()
{
global $a;
$a += 2;
}
foo();
echo $a;
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

解密金融数据

解密金融数据

Justin Pauley
算法技术手册(原书第2 版)

算法技术手册(原书第2 版)

George T.Heineman, Gary Pollice, Stanley Selkow
Java持续交付

Java持续交付

Daniel Bryant, Abraham Marín-Pérez

Publisher Resources

ISBN: 9787121404634