会话与会议之间的区别是什么? php中的全局变量?
答案 0 :(得分:30)
全局变量是整个应用程序仍然常见的变量......它们的值可以在整个应用程序中使用,而会话变量是整个应用程序常见的变量应用,但对于一个特定的用户。它们也可以在整个应用程序中使用......但是当特定的用户会话结束时它们就会消失。
答案 1 :(得分:3)
global
只是一个关键字,用于访问在顶级范围内声明的变量,并且在实际范围内不可用。这与会话没有任何关系:不要在页面之间保留。
$a = "test";
function useGlobalVar(){
echo $a; // prints nothing, $a is not availabe in this scope
global $a;
echo $a; // prints "test"
}
$GLOBALS
是在不使用global
关键字的情况下访问顶级范围变量的另一种方式:
$a = "test";
function useGlobalVar(){
echo $GLOBAL['a']; // prints "test"
}
global
和superglobals
之间存在一些混淆:Superglobals(如$ GLOBALS,$ _REQUEST,$ _SERVER)可在任何范围内使用,无需您做一个全球宣言。同样,它们不会在页面之间保留($ _SESSION除外)。
$ _ SESSION是一个超级全局数组,可以在不同的页面中持续存在。
答案 2 :(得分:1)
会话变量是存储在服务器端的变量,用于给定的客户端连接。
全局变量是在php代码中具有通用(全局...)范围的变量。这些变量不一定依赖于给定的客户端连接
会议见: http://www.php.net/manual/en/book.session.php
对于全局变量,请参阅: http://www.tutorialspoint.com/php/php_global_variables.htm
最后,这类问题不适合本论坛,请参阅: https://stackoverflow.com/faq#dontask
“你应该只根据你面临的实际问题提出实际的,可回答的问题。健谈,开放式问题会削弱我们网站的实用性,并将其他问题从头版推出。
您的问题应该合理范围。如果你能想象一本完整的书来回答你的问题,你会问得太多。
如果你提出问题的动机是“我想参加关于______的讨论”,那么你不应该在这里问。但是,如果你的动机是“我希望别人向我解释______”,那么你可能还可以。 (我们的实时网络聊天当然欢迎讨论。)“
答案 3 :(得分:1)
全局变量是在任何函数或类范围之外声明的任何变量,并且使用global
关键字在另一个函数中使用,例如。
$a = 123; // this is a global variable
function foo()
{
global $a; // and this is the explicit declaration
}
超级全局变量就像常规全局变量,除了它们在函数中被隐式声明为全局,因此它们总是可用的。
最后,会话变量可以通过超级全局$_SESSION
访问,并通过发送和接受会话标识符来延续。
答案 4 :(得分:1)
全局变量是可以在所有php文件中访问的变量,php定义了一些可用于所有php脚本的全局变量。 前 - $ _POST,$ _SESSION,$ _REQUEST。
global也是一个关键字,当您想要访问在函数外部定义的变量时使用该关键字。
<?php
$name = "xyz" ;
function hello(){
global $name ;
echo $name ;
}
?>