如何创建Globals数组

时间:2011-03-12 08:00:18

标签: php arrays indexing globals

如何在GLOBALS for php中创建数组?

例如,我想做这样的事情:

$GLOBALS["chapter_names"] = array();

然后

$GLOBALS["chapter_names"][$i] = $row -> CHAPTER_NAME;

在while循环中

其中$i是数组的索引

这是做事的最佳方式吗?

谢谢!

4 个答案:

答案 0 :(得分:6)

$GLOBALS["chapter_names"] = array();
foreach ($rows as &$row) {
    array_push($GLOBALS["chapter_names"], $row->CHAPTER_NAME);
}

答案 1 :(得分:1)

与你在那里完全一样。除非你需要一些特定的索引,否则你在添加新东西时不需要输入$ i的索引。你可以这样做:

$GLOBALS['chapter_names'] = array();
$GLOBALS['chapter_names'][] = $row -> CHAPTER_NAME;


print_r($GLOBALS);

答案 2 :(得分:0)

这应该有效。

$GLOBALS["chapter_names"] = array();

$row = new StdClass;

$row->CHAPTER_NAME = 'test';

$i = 0;

$GLOBALS["chapter_names"][$i] = $row -> CHAPTER_NAME;

var_dump($GLOBALS);

除此之外,还显示了值......

["chapter_names"]=>
  array(1) {
    [0]=>
    string(4) "test"

但是,正如您可能知道的那样,变量应该只具有所需的范围,以防止冲突和可能的问题。因此,在大多数情况下都应避免使用全局变量。

答案 3 :(得分:0)

不要使用$ GLOBALS,这是一种过时且非常危险的做法。您可以阅读有关注册表模式的信息 - 它是解决问题的OO解决方案。至于你的例子,它应该是完全有效的。