我的index.php中包含一个文件(color.php)。在包含的文件中,我定义了一些变量和函数。
(color.php)
<?php
$colors = array(0xffffff, 0x000000, 0x000000, 0x808080);
function getColors() {
global $colors;
return $colors;
}
?>
下面是我的主文件(index.php)。
<?php
require_once('color.php');
class Test {
function Test() {
var_dump(getColors()); // returns NULL
}
}
?>
为什么调用getColors()函数,它返回NULL,据说会返回一个颜色数组?我错过了什么吗?或者php.ini中是否需要配置?任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
这对我来说很好用:
<?php
$colors = array(0xffffff, 0x000000, 0x000000, 0x808080);
function getColors() {
global $colors;
return $colors;
}
class Test {
function Test() {
var_dump(getColors());
}
}
$st = new Test();
$st->Test();
?>
答案 1 :(得分:0)
function getColors() {
return array(0xffffff, 0x000000, 0x000000, 0x808080);
}
至于为什么它会返回NULL
,必须有一个很好的解释。
也许你在某处打电话给unset($colors)
。
答案 2 :(得分:0)
$colors = array(0xffffff, 0x000000, 0x000000, 0x808080);
function getColors() {
global $colors;
return $colors;
}
class Test {
function __construct() {
if (getColors() == NULL) {
echo "null";// returns NULL
} else {
print_r(getColors());
}
}
}
$test = new Test();
答案 3 :(得分:0)
实际上,我已经弄明白是什么导致了这个错误。我将文件包含在主类的一个函数中,所以语句
global $colors;
包含文件中的函数getColors()的返回NULL,因为$ colors未在主类外定义。我在这里发布的代码只是我遇到麻烦的实际代码的虚拟表示。当我发布它时,我没想到这个。我的错。无论如何,这现在已经解决了。谢谢你们的回答。直到下一次。 :)