PHP全局数组未显示
考虑以下用字符串填充数组的函数(问题):PHP全局数组未显示,php,html,global-variables,global,Php,Html,Global Variables,Global,考虑以下用字符串填充数组的函数(问题): global$问题; 函数打印问题($行){ $count=1; foreach($line作为$line_num=>$line的行){ 如果($line_num%3==1){ 回显“问题”。$count.:“”。“”; $count++; $questions[]=$line; } } } 问题数组定义为全局数组,但在函数外部无法访问。位于页面底部的以下代码块不返回任何内容: <?php if(isset($_POST['Submit'
global$问题;
函数打印问题($行){
$count=1;
foreach($line作为$line_num=>$line的行){
如果($line_num%3==1){
回显“问题”。$count.:“
”。“
”;
$count++;
$questions[]=$line;
}
}
}
问题数组定义为全局数组,但在函数外部无法访问。位于页面底部的以下代码块不返回任何内容:
<?php
if(isset($_POST['Submit'])){
foreach($questions as $qs)
echo $qs;
}
?>
我知道我可以使用会话变量,但我对这个关于全局变量的特殊问题感兴趣。非常感谢您的帮助。您应该在函数中移动
global
function printQuestions($lines){
global $questions;
// ...
关键字将全局变量带入局部范围,因此您可以对其进行操作。如果在
printQuestions()
函数中不使用global
将全局$questions
变量置于函数范围内,则$questions
将是本地变量,并且与您要查找的全局变量不同。您可以在PHP中将全局变量用作$GLOBALS[“foo”]因此,在函数内部,用$GLOBALS[“questions”]替换$questions,一切都应该正常。不建议使用global,您可以将值传递给函数,就像传递$line一样
function printQuestions($lines){
global $questions;
// ...