GVKun编程网logo

15 PHP 全局变量 - 超全局变量(php中的超全局变量)

1

此处将为大家介绍关于15PHP全局变量-超全局变量的详细内容,并且为您解答有关php中的超全局变量的相关问题,此外,我们还将为您介绍关于Android程序员学PHP开发(22)-超全局数组/超全局变量

此处将为大家介绍关于15 PHP 全局变量 - 超全局变量的详细内容,并且为您解答有关php中的超全局变量的相关问题,此外,我们还将为您介绍关于Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm、C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别、centos 配置 tomcat 全局变量、C:笔记:全局变量 静态本地变量的有用信息。

本文目录一览:

15 PHP 全局变量 - 超全局变量(php中的超全局变量)

15 PHP 全局变量 - 超全局变量(php中的超全局变量)

超全局变量 在 php 4.1.0 中引入,是在全部作用域中始终可用的内置变量。


PHP 全局变量 - 超全局变量

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

<span>$GLOBALS</span><span>$_SERVER</span><span>$_REQUEST</span><span>$_POST</span><span>$_GET</span><span>$_FILES</span><span>$_ENV</span><span>$_COOKIE</span><span>$_SESSION</span>
登录后复制

$GLOBALS — 引用全局作用域中可用的全部变量

立即学习“PHP免费学习笔记(深入)”;

$GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。

PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。

下面的例子展示了如何使用超级全局变量 $GLOBALS:
实例

<span><span><?php </span><span>$x</span> = <span>75</span>; 
<span>$y</span> = <span>25</span>;

<span><span>function</span><span>addition</span><span>()</span> {</span><span>$GLOBALS</span>[<span>''z''</span>] = <span>$GLOBALS</span>[<span>''x''</span>] + <span>$GLOBALS</span>[<span>''y''</span>]; 
}

addition(); 
<span>echo</span><span>$z</span>; 
<span>?&gt;</span></span></span>
登录后复制

PHP $_SERVER

$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

下面的例子展示了如何使用 $_SERVER 中的某些元素:
实例

<span><span><span><?php </span><span>echo</span><span>$_SERVER</span>[<span>''PHP_SELF''</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>''SERVER_NAME''</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>''HTTP_HOST''</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>''HTTP_REFERER''</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>''HTTP_USER_AGENT''</span>];
<span>echo</span><span>"<br>"</span>;
<span>echo</span><span>$_SERVER</span>[<span>''SCRIPT_NAME''</span>];
<span>?&gt;</span></span></span></span>
登录后复制

下表列出了您能够在 $_SERVER 中访问的最重要的元素:


PHP $_REQUEST

PHP $_REQUEST 用于收集 HTML 表单提交的数据。

下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 
登录后复制
标签的 action 属性中指定的脚本文件。在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值:

实例

<span>html</span>&gt;<span>body</span>&gt;<span>form</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"<?php echo $_SERVER[''PHP_SELF''];?>"</span>&gt;
Name: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"fname"</span>&gt;<span>input</span><span>type</span>=<span>"submit"</span>&gt;<span><span>form</span>&gt;</span><span><span><?php </span><span>$name</span> = <span>$_REQUEST</span>[<span>''fname''</span>]; 
<span>echo</span><span>$name</span>; 
<span>?&gt;</span></span><span><span>body</span>&gt;</span><span><span>html</span>&gt;</span></span>
登录后复制

PHP $_POST

PHP $_POST 广泛用于收集提交 <span><span>method</span>="<span>post</span>" 的 <span>HTML</span> 表单后的表单数据。$_<span>POST</span> 也常用于传递变量。

下面的例子展示了一个包含输入字段和提交按钮的表单。当用户点击提交按钮来提交数据后,表单数据会发送到 form</span>&gt; 标签的 <span>action</span> 属性中指定的文件。在本例中,我们指定文件本身来处理表单数据。如果您希望使用另一个 <span>PHP</span> 页面来处理表单数据,请用更改为您选择的文件名。然后,我们可以使用超全局变量 $_<span>POST</span> 来收集输入字段的值:
登录后复制

实例

<span>html</span>&gt;<span>body</span>&gt;<span>form</span><span>method</span>=<span>"post"</span><span>action</span>=<span>"<?php echo $_SERVER[''PHP_SELF''];?>"</span>&gt;
Name: <span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"fname"</span>&gt;<span>input</span><span>type</span>=<span>"submit"</span>&gt;<span><span>form</span>&gt;</span><span><span><?php </span><span>$name</span> = <span>$_POST</span>[<span>''fname''</span>]; 
<span>echo</span><span>$name</span>; 
<span>?&gt;</span></span><span><span>body</span>&gt;</span><span><span>html</span>&gt;</span></span>
登录后复制

PHP $_GET

PHP $_GET 也可用于收集提交 HTML 表单 (<span><span>method</span>="<span>get</span>") 之后的表单数据。

$_<span>GET</span> 也可以收集 <span>URL</span> 中的发送的数据。</span>
登录后复制

假设我们有一张页面含有带参数的超链接:

<span>html</span>&gt;<span>body</span>&gt;<span>a</span><span>href</span>=<span>"test_get.php?subject=PHP&amp;web=W3school.com.cn"</span>&gt;测试 $GET<span><span>a</span>&gt;</span><span><span>body</span>&gt;</span><span><span>html</span>&gt;</span>
登录后复制
当用户点击链接 <span>"Test <span>$GET</span>"</span>,参数 <span>"subject"</span> 和 <span>"web"</span> 被发送到 <span>"test_get.php"</span>,然后您就能够通过 <span>$_GET</span> 在 <span>"test_get.php"</span> 中访问这些值了。

下面的例子是 <span>"test_get.php"</span> 中的代码:
实例
登录后复制
<span>html</span>&gt;<span>body</span>&gt;<span><span><?php </span><span>echo</span><span>"Study "</span> . <span>$_GET</span>[<span>''subject''</span>] . <span>" at "</span> . <span>$_GET</span>[<span>''web''</span>];
<span>?&gt;</span></span><span><span>body</span>&gt;</span><span><span>html</span>&gt;</span></span>
登录后复制

以上就介绍了15 PHP 全局变量 - 超全局变量,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm

Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm

php超级全局变量数组(super global array),又称为php预定义数组,是由php引擎内置的,不需要开发者重新定义。 在php脚本运行时,php会自动将一些数据放在超级全局数组中。

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

php超级全局变量列表:

$_GET[] 获得以GET方法提交的变量数组

$_POST[] 获得以POST方法提交的变量数组

立即学习“PHP免费学习笔记(深入)”;

点击下载“修复打印机驱动工具”;

$_COOKIE[] 获取和设置当前网站的Cookie标识

$_SESSION[] 取得当前用户访问的唯一标识,以数组形式体现,如sessionid以及自定义session数据

$_ENV[] 当前php环境变量数组

$_SERVER[] 当前php服务器变量数组

$_FILES[] 上传文件时提交到当前脚本的参数值,以数组形式体现

$_REQUEST[] 包含当前脚本提交的全部请求,$_GET、$_POST、$_COOKIE的所有动作

$GLOBALS[] 包含正在执行脚本所有超级全局变量的引用内容

index.php:

<?php
    /**
     * 超全局数组/超全局变量
     * PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。
     * 在函数或方法中无需执行 global $variable; 就可以访问它们。
     * 这些超全局变量是:
        $_GLOBALS       Global变量
        $_SERVER        服务器变量
        $_REQUEST       request变量
        $_POST      HTTP POST变量
        $_GET       HTTP GET变量
        $_FILES     HTTP文件上传变量
        $_ENV       环境变量
        $_COOKIE        HTTP Cookies
        $_SESSION       Session变量
     */

    echo getip();
    echo "<br>";

    echo getip2();
    echo "<br>";

    /**
     * 遍历$_SERVER数组
     */
    foreach ($_SERVER as $key => $value){
        echo "{$key}  =>  {$value} <br>";
    }

    /**
     * 服务器IP的函数--笔试0分的写法
     */
    function getip(){
        return $_SERVER[&#39;REMOTE_ADDR&#39;];
    }

    /**
     * 服务器IP的函数--正确写法
     */
    function getip2(){
        if (!empty($_SERVER[&#39;HTTP_CLIENT_IP&#39;])){
            return $_SERVER[&#39;HTTP_CLIENT_IP&#39;];
        }elseif (!empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])){
            return $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;];
        }elseif (!empty($_SERVER[&#39;REMOTE_ADDR&#39;])){
            return $_SERVER[&#39;REMOTE_ADDR&#39;];
        }else{
            return &#39;未知IP&#39;;
        }
    }
    ?>

    /**
     * GET
     */
    <br>
    <a href="demo.php?action=add&id=5&name=admin">测试页面</a><br>

    /**
    * POST
    * nickname[]下标会自增,跟数组没有区别
    */
    <br>
    <form action="demo.php?nick=www&psw=yyy" method="post">
        nickname:<input type="text" name="nickname[]"/><br>
        nickname:<input type="text" name="nickname[]"/><br>
        nickname:<input type="text" name="nickname[]"/><br>
        nickname:<input type="text" name="nickname[9]"/><br>
        nickname:<input type="text" name="nickname[]"/><br>
        nickname:<input type="text" name="nickname[x]"/><br>
        nickname:<input type="text" name="nickname[]"/><br>
        username:<input type="text" name="name"/><br>
        age:<input type="text" name="age"/><br>
        sex:<input type="text" name="sex"/><br>

        <input type="submit" name="sub" value="提交">
    </form><br>

<?php
    /**
     * $_SESSION
     *
     * Session 函数:
     * http://www.php.cn/
     *
     * Session 开始、存储、终结:
     * http://www.php.cn/
     */
    echo &#39;---------- $_SESSION ----------<br>&#39;;
    session_start(); // 启动新会话或者重用现有会话
    $_SESSION[&#39;name&#39;]="hello";
    print_r($_SESSION); // 打印结果:Array ( [name] => hello )
    session_unset(); // 释放所有的会话变量
    session_destroy(); // 销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。
                        // 如果需要再次使用会话变量, 必须重新调用 session_start() 函数
    session_write_close(); // 结束当前会话并存储会话数据
    setcookie(session_name(),&#39;&#39;,0,&#39;/&#39;); // session_name — 读取/设置会话名称
                                        // setcookie() 函数向客户端发送一个 HTTP cookie。
    session_regenerate_id(true); // 在不修改当前会话中数据的前提下使用新的 ID 替换原有会话 ID
    echo "<br>";

    /**
     * $GLOBALS 引用全局作用域中可用的全部变量
     * 一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
     */
    echo &#39;---------- $GLOBALS ----------<br>&#39;;
    echo "<pre>";
    print_r($GLOBALS); // 打印以上所有结果
    echo "
登录后复制
";

demo.php:(配合index.php使用)

<?php
    /**
     * $_GET 只能接get
     */
    print_r($_GET);
    echo "<br>";
    print_r($_GET[&#39;action&#39;]);
    echo "<br>";

    /**
     * $_POST 只能接post
     */
    print_r($_POST);
    echo "<br>";

    /**
     * $_REQUEST 能接get和post
     * 但是,容易被黑客攻击,因为什么都能接
     * 所以需要get就用$_GET,需要post就用$_POST
     * 忽略$_REQUEST的存在
     */
    print_r($_REQUEST);
    echo "<br>";

    /**
     * 不确定get还是post
     * 可以使用下面的写法
     */
    $arr = !empty($_POST) ? $_POST : $_GET;
登录后复制

 以上就是Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm的内容。

C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别

C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别

直接贴出原文,无需多言:http://www.cnblogs.com/burandanxin/archive/2009/10/16/1584735.html

centos 配置 tomcat 全局变量

centos 配置 tomcat 全局变量

由于项目中使用的文件较多,每次上线需要将包中的properties文件删除比较麻烦,所以需要将这些配置文件放在服务器一个指定的目录中,这样项目中就不包含这些配置文件方便部署。

那么如何加载这些配置文件?

1.通过设置tomcat的vm options来参数来加载配置文件,先在指定的目录中放入需要加载的配置文件,然后在tomcat的bin目录中找到catalina.bat文件,linux系统中为.sh文件,增加”set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m 
-Dglobal.config.path=G:\yididuocang\” 
前面是设置的虚拟机内存参数,起作用的是”-Dglobal.config.path=G:\yididuocang\”是这个变量.

如果是开发环境,我们可以直接通过开发工具设置vm options ,因为我用的是idea,下面举例 

2.我们项目中是spring加载的配置文件,所以只用修改相关的xml文件即可加载指定目录下的配置文件

    <bean id="configPropertiesTest">  
       <property name="locations">  
           <list>  
               <value>file:${global.config.path}/opc/opc-business/jdbc.write.properties</value>
               <value>file:${global.config.path}/opc/opc-business/jdbc.read.properties</value>
           </list>  
       </property>  
    </bean>

spring可以用来加载少量的配置文件,如果配置文件量多,推荐第一种

因为项目中遇到此问题,在网上找到答案,此处内容出处学习来至以下地方

http://flybear-chf.iteye.com/blog/1197762

C:笔记:全局变量 静态本地变量

C:笔记:全局变量 静态本地变量

全局变量

在函数外部定义的变量是全局变量。

没有初始化的全局变量默认是 0,指针是 NULL。

(本地变量没有默认的初始值)

全局变量的初始化发生在 main 函数之前。

只能用编译时刻已知的值俩初始化全局变量。

本地变量和全局变量重名时,本地变量有效。全局变量被隐藏。

静态本地变量

本地变量(函数内部定义的变量)用 static 修饰就是静态本地变量

静态本地变量的作用域是本地的。

静态本地变量,在第一次进入函数时初始化,以后每次进入该函数,都保留上一次的结果。

static int i;

静态本地变量实际上是特殊的全局变量,它和全局变量在内存中处于同一空间。


返回指针的函数

返回本地变量的地址是危险的。

返回全局变量或静态本地变量的地址是安全的。

一个函数结束后,本地变量分配的地址会被收回,并重新分配。


避免全局变量

不要使用全局变量来在函数间传递参数和结果

尽量避免使用全局变量

使用全局变量和静态本地变量的函数是线程不安全的。

我们今天的关于15 PHP 全局变量 - 超全局变量php中的超全局变量的分享就到这里,谢谢您的阅读,如果想了解更多关于Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm、C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别、centos 配置 tomcat 全局变量、C:笔记:全局变量 静态本地变量的相关信息,可以在本站进行搜索。

本文标签: