Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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_Global Variables - Fatal编程技术网

如何使用数组作为全局数组并从PHP中的所有其他文件访问它

如何使用数组作为全局数组并从PHP中的所有其他文件访问它,php,arrays,global-variables,Php,Arrays,Global Variables,我有一个名为users.php的文件,我在数组中添加用户名,如下所示 <?php $users = array("alexritz","katrob","diaman","janber","denivar","hamrop","calvik"); ?> 然后在任何其他php文件中,我只调用globalUsers()但它不工作 有什么想法吗?谢谢。您不需要先通过数组的索引设置数组的值吗 function globalUsers () { $users = array();

我有一个名为users.php的文件,我在数组中添加用户名,如下所示

<?php

 $users = array("alexritz","katrob","diaman","janber","denivar","hamrop","calvik");

?>
然后在任何其他php文件中,我只调用
globalUsers()但它不工作


有什么想法吗?谢谢。

您不需要先通过数组的索引设置数组的值吗

function globalUsers () {
  $users = array();
  return $GLOBALS['users'] = $users;
}
但是拥有
用户不是更容易吗。php

$global_users = array();
require 'users.php';
echo $global_users;
然后
otherfile.php

$global_users = array();
require 'users.php';
echo $global_users;

<>而不是使用一个全球化的数组,您可以考虑使用“会话”。
session_start();

// To save the array
$array = [
    'name' => 'John Doe',
    'age' => 27,
];

$_SESSION['saved'] = $array;

// To get data from the array
$array = $_SESSION['saved'];

注意:不要忘记在每个将使用此函数的文件顶部使用
session\u start()

最简单的解决方案可能只是在函数中返回数组:

<?php

/**
 * @return array
 */
function globalUsers()
{
    return array("alexritz","katrob","diaman","janber","denivar","hamrop","calvik");
}

“但它不起作用。”确切的意思是什么?你的函数
return
s有些东西,仅仅调用它不会做任何事情,你需要输出它返回的东西。另外,您仍然需要
要求/包含该文件,以便其他脚本访问
globalUsers()
。这里出了问题。。。你是如何使用另一个文件的?只是通过控制台/web服务器运行它?类似“”的内容,而此文件没有“require”?那样不行。。每次需要变量或函数时,都需要直接或通过require/include指令进行声明。@Rahul我不想使用会话。我已经让它工作了。我想使用全局变量为什么要把它弄得这么复杂…Put
$GLOBALS['users']=array(…)
进入您的include文件,然后在…?@04FS之后通过
$GLOBALS['users']
访问…?@04FS这是我想做的,但是当我从另一个文件访问数组时,会出现未定义的索引错误