Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 设置全局数组(外部类)_Php_Arrays_Variables_Global - Fatal编程技术网

Php 设置全局数组(外部类)

Php 设置全局数组(外部类),php,arrays,variables,global,Php,Arrays,Variables,Global,我有几个类(在单独的文件中,例如/classes/admin.class.php),我希望它们能够访问一个全局数组,该数组加载在主文件(index.php)中 我希望全局数组的内容是$cq->fetch\u assoc() 我该怎么做?我已经读过了,但我就是想不起来 $GLOBALS似乎有效,但这不是一个过时的版本(比如$HTTP\u POST\u ARRAY?) 提前感谢您在index.php文件中声明的任何变量都将可用于随后包含的所有文件。但是,一旦进入函数定义,该变量将不可用。您可以使用“

我有几个类(在单独的文件中,例如/classes/admin.class.php),我希望它们能够访问一个全局数组,该数组加载在主文件(index.php)中

我希望全局数组的内容是
$cq->fetch\u assoc()

我该怎么做?我已经读过了,但我就是想不起来

$GLOBALS
似乎有效,但这不是一个过时的版本(比如
$HTTP\u POST\u ARRAY
?)


提前感谢

您在index.php文件中声明的任何变量都将可用于随后包含的所有文件。但是,一旦进入函数定义,该变量将不可用。您可以使用“全局”关键字使其可用

例如:

index.php

<?php
   $var = $cq->fetch_assoc();
?>

/classes/admin.inc.php

<?php
echo $var; //Will work!

function foo() {
    global $var;

    echo $var; //Won't work without global keyword!
}

$GLOBALS
似乎有效,但这不是一个过时的版本(比如
$HTTP\u POST\u ARRAY
?)

不,那是两件不同的事
$GLOBALS
不是过时的,而是超全局变量,它允许您访问PHP中的全局变量表


$HTTP\u POST\u数组
已经过时,因为您应该改用
$\u POST

好的,我已经这样做了,但是我得到了
意外的T\u全局,期望T\u函数
。它是一个类而不是一个函数是否重要?不能将类变量声明为全局变量
class x(){global$y;}
不是有效的PHP。那么,有没有办法访问变量的内容?我不完全理解您的设置。你能详细说明一下你的努力取得了什么成果吗?我只是同意使用
$GLOBALS
,因为这似乎是可行的:)