PHP:第一章——PHP中的变量002

预定义变量、变量的有效范围、可变变量、静态变量、php之外的变量

<?php
/*****************************************************/
//预定义变量:
//$GLOBALS  —— 引用全局作用域中可用的全部变量;
//$_SERVER —— 服务器和执行环境信息
//$_GET  ——HTTP GET变量
//$_POST —— HTTP POST变量
//$_FILES ——HTTP文件上传的变量
//$_REQUEST —— HTTP REQUEST变量
//$_ENV ——环境变量
//$_COOKIE ——httpCookies
// $argc ——传递给脚本的参数数目
// $argv ——传递给脚本的参数数组
// $php_errormsg ——前一个错误信息
// $HTTP_RAW_POST_DATA ——原生POST数据
// $http_response_header ——HTTP响应头信息

/*****************************************************/
//变量的有效范围:指变量能够被检测到及能被使用的范围;
//页级全局变量在函数中无法生效。
//例:
/*$yeji='页级全局变量';
function myfunction(){
    var_dump(isset($yeji)); //这里返回bool(false),无法检测到这个变量
}
myfunction();*/

//函数中局部变量,在函数外无法访问
//例2:
/*function myfun(){
    $a='函数中的变量';
}
myfun();
var_dump($a);  //输出null,不存在$a变量*/


//使用global关键字进行声明,强制变量的可见范围:
/*$a=1;$b=2;
function sum(){
    global $a,$b;
    $b=$a+$b;
}
sum();
echo $b;//输出3;*/

//使用$GLOBALS超全局变量数组
//$a=1;$b=5;
//function sum(){
//    $GLOBALS['b']=$GLOBALS['a']+$GLOBALS['b'];
//}
//sum();
//echo $b;
/*****************************************************/
//可变变量:
//例1:
//$v1='PHP';
//$$v1='学院';
//echo $PHP;//输出:学院

//例2:
//$v2='seo';
//$$v2='大学';
//echo $v2.${$v2};//输出seo大学
/*****************************************************/
//静态变量:
/*
 1.原理:static + 变量名 + 值
2.静态变量在内存中多了一个是否初始化标识符。
3.未有新的声明和原有声明不变的情况下。静态变量保持最后一次运行结果。
4.在函数中声明的静态变量,作用域只保存在函数中有效。
 */

//例1:静态变量的定义.
//static $int=0;

//例2:静态变量的作用域:
//通过静态变量统计函数被调用的次数
/*function counter(){
    static $a=1;
    echo $a.'<br/>';
    $a++;
    static $a=1;
}
counter();//输出1;
counter();//输出2
counter();//输出3*/

//例:
/*
$a=3;
echo $a;//输出:3

static $a=6;
echo $a;//输出:12.静态变量会在编译阶段声明提升。

$a=9;
echo $a;//输出:9

static $a=12;
echo $a;//输出:9
*/
/*****************************************************/
//php之外的变量:(提交表单得到的变量)

/*login.html里面的内容部分:
<form action="index.php" method="post">
用户名01:<input type="text" name="username01"/>
用户名02:<input type="text" name="username02"/>
<input type="submit" value="提交"/>
</form>
*/

/*
//index.php中的内容部分
echo $_POST['username01'];
echo $_REQUEST['username02'];
*/

?>
原文地址:https://www.cnblogs.com/yiweiyihang/p/7083202.html