PHP中不需要显示声明变量,变量声明可以与赋值同时进行。好的编程习惯是:所有变量应当在使用前进行声明,最好带有注释。
一、变量的赋值
变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。
1、值赋值
$color = "red" ;
$sum = 12+"15" ; /* $sum = 27 */
2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。
引用赋值
所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。
例子:
$value1 = "hello" ;
$value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/
$value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */
?>
二、变量的作用域
PHP脚本的任何位置都可以声明变量,但声明变量的位置会大大影响访问变量的范围。这个可访问的范围称为作用域(scope)。
PHP变量的4中作用域:
△ 局部变量
△ 函数参数
△ 全局变量
△ 静态变量
1、局部变量
在函数中声明的变量认为是局部变量,只能在函数中引用,退出声明变量的函数时,该变量及相应的值就会撤销。消除了导致全局访问的变量被有意或无意修改的可能性。
$x = 4 ;
function assignx ( ) {
$x = 0 ;
print "\$x inside function is $x .
" ;
}
assignx ( ) ;
print "\$x outside of function is $x .
" ;
代码的执行结果为:
$x inside function is 0 .
$x outside function is 4 .
2、函数参数
PHP和其他编程语言一样,任何接受参数的函数都必须在函数首部中声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数。(按引用传递的参数除外)
例如:
function x10 ( $value ) {
$value = $value * 10 ;
return $value ;
}
函数执行完毕,参数即将撤销。
3、全局变量
与局部变量相反,全局变量可以在程序的任何位置访问。当在函数中改变全局变量时,需要在该函数中将变量显示地生命为全局变量,只要在函数中的该变量前加上GLOBAL即可。
例如:
$somevar = 15 ;
function addit ( ) {
GLOBAL $somevar ;
$somevar ++ ;
print "somevar is $somevar" ;
}
addit ( ) ;
$somevar 显示的值应为16 ,但是,若去掉 GLOBAL $somevar ; 这行,变量$somevar 将被隐含的设置为0,再加1 ,最后显示的值就是1 。
声明全局变量的另一方法是使用PHP的$GLOBAL数组,如下:
$somevar = 15 ;
function addit ( ) {
$GLOBALS[ 'somevar' ]++ ;
}
addit ( ) ;
print "somevar is ". $GLOBALS[ 'somevar' ] ;
返回值如下: somevar is 16 .
4、静态变量
静态(static)作用域。普通变量的函数参数在函数结束时会撤销,但静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。在汴梁明前加上关键字 STATIC 就可以声明一个静态变量。
STATIC $somevar ;
考虑一个例子:
function keep_track ( ) {
STATIC $count = 0 ;
$count ++ ;
print $count ;
print "
" ;
}
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
若$count 没有被指明为静态(相应的,$count就是一个局部变量),输出将会是
1
1
1
1
因为$count是静态的,它会在每次执行函数时保留前面的值。输出如下:
1
2
3
4
静态作用域对于递归函数很有用。递归函数(recursive function)是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。
5、 PHP的超级全局变量
PHP提供了很多有用的预定义变量,可以在执行脚本的人和位置访问,用于提供大量与环境有关的信息。可以通过这些变量获得关于当前用户会话、用户操作系统环境和本地操作环境等详细信息。PHP会创建部分变量,而其他许多变量的可用性和值则取决于操作系统和WEB服务。
输出所有预定义变量:
foreach ( $_SERVER as $var => $value ) {
echo "$var => $value
" ;
}
显示用户的IP地址:
print "HI!Your IP address is ".$_SERVER[ ' REMOTE_ADDR' ] ;
PHP中要使用预定义变量数组,必须在PHP.INI文件中启用配置参数 track_vars 。
一、变量的赋值
变量声明后就可以给其赋值,有两种方式:值赋值和引用赋值。
1、值赋值
$color = "red" ;
$sum = 12+"15" ; /* $sum = 27 */
2、 若希望两个变量指向一个值的同一个副本,则需要通过引用赋值。
引用赋值
所创建的变量与另一个变量引用的内容相同,如果多个变量引用了同一个内容,修改其中任意一个变量,在其余的变量上都将有所反映。
例子:
$value1 = "hello" ;
$value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/
$value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */
?>
二、变量的作用域
PHP脚本的任何位置都可以声明变量,但声明变量的位置会大大影响访问变量的范围。这个可访问的范围称为作用域(scope)。
PHP变量的4中作用域:
△ 局部变量
△ 函数参数
△ 全局变量
△ 静态变量
1、局部变量
在函数中声明的变量认为是局部变量,只能在函数中引用,退出声明变量的函数时,该变量及相应的值就会撤销。消除了导致全局访问的变量被有意或无意修改的可能性。
$x = 4 ;
function assignx ( ) {
$x = 0 ;
print "\$x inside function is $x .
" ;
}
assignx ( ) ;
print "\$x outside of function is $x .
" ;
代码的执行结果为:
$x inside function is 0 .
$x outside function is 4 .
2、函数参数
PHP和其他编程语言一样,任何接受参数的函数都必须在函数首部中声明这些参数。虽然这些参数接受函数外部的值,但退出函数后就无法再访问这些参数。(按引用传递的参数除外)
例如:
function x10 ( $value ) {
$value = $value * 10 ;
return $value ;
}
函数执行完毕,参数即将撤销。
3、全局变量
与局部变量相反,全局变量可以在程序的任何位置访问。当在函数中改变全局变量时,需要在该函数中将变量显示地生命为全局变量,只要在函数中的该变量前加上GLOBAL即可。
例如:
$somevar = 15 ;
function addit ( ) {
GLOBAL $somevar ;
$somevar ++ ;
print "somevar is $somevar" ;
}
addit ( ) ;
$somevar 显示的值应为16 ,但是,若去掉 GLOBAL $somevar ; 这行,变量$somevar 将被隐含的设置为0,再加1 ,最后显示的值就是1 。
声明全局变量的另一方法是使用PHP的$GLOBAL数组,如下:
$somevar = 15 ;
function addit ( ) {
$GLOBALS[ 'somevar' ]++ ;
}
addit ( ) ;
print "somevar is ". $GLOBALS[ 'somevar' ] ;
返回值如下: somevar is 16 .
4、静态变量
静态(static)作用域。普通变量的函数参数在函数结束时会撤销,但静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。在汴梁明前加上关键字 STATIC 就可以声明一个静态变量。
STATIC $somevar ;
考虑一个例子:
function keep_track ( ) {
STATIC $count = 0 ;
$count ++ ;
print $count ;
print "
" ;
}
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
keep_track ( ) ;
若$count 没有被指明为静态(相应的,$count就是一个局部变量),输出将会是
1
1
1
1
因为$count是静态的,它会在每次执行函数时保留前面的值。输出如下:
1
2
3
4
静态作用域对于递归函数很有用。递归函数(recursive function)是一个功能强大的编程概念,它是一个可以重复调用自身的函数,直到满足某个条件为止。
5、 PHP的超级全局变量
PHP提供了很多有用的预定义变量,可以在执行脚本的人和位置访问,用于提供大量与环境有关的信息。可以通过这些变量获得关于当前用户会话、用户操作系统环境和本地操作环境等详细信息。PHP会创建部分变量,而其他许多变量的可用性和值则取决于操作系统和WEB服务。
输出所有预定义变量:
foreach ( $_SERVER as $var => $value ) {
echo "$var => $value
" ;
}
显示用户的IP地址:
print "HI!Your IP address is ".$_SERVER[ ' REMOTE_ADDR' ] ;
PHP中要使用预定义变量数组,必须在PHP.INI文件中启用配置参数 track_vars 。
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
4 몇 주 전ByDDD
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
3 몇 주 전ByDDD
Atomfall에서 크레인 제어 키 카드를 찾을 수 있습니다
4 몇 주 전ByDDD
<s> : 데드 레일 - 모든 도전을 완료하는 방법
1 몇 달 전ByDDD
Atomfall Guide : 항목 위치, 퀘스트 가이드 및 팁
1 몇 달 전ByDDD

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
