如何在GLOBALS for php中创建数组?
例如,我想做这样的事情:
$GLOBALS["chapter_names"] = array();
然后
$GLOBALS["chapter_names"][$i] = $row -> CHAPTER_NAME;
在while循环中
其中$i
是数组的索引
这是做事的最佳方式吗?
谢谢!
答案 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解决方案。至于你的例子,它应该是完全有效的。