PHP全局数组没有显示

Geo*_*rge 0 html php global global-variables

考虑以下用字符串填充数组的函数(问题):

global $questions;
function printQuestions($lines){
    $count = 1;
    foreach ($lines as $line_num => $line) {
        if($line_num%3 == 1){
            echo 'Question '.$count.':'.'<br/>'.'<input type="text" value="' . $line . '" class="tcs"/>'.'<br/>';
            $count++;
            $questions[] = $line;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题数组被定义为全局但在函数外部无法访问.位于页面底部的以下代码块不返回任何内容:

<?php
    if(isset($_POST['Submit'])){
        foreach($questions as $qs)
            echo $qs;   
        }
?>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用会话变量,但我对这个关于全局变量的特殊问题感兴趣.任何帮助是极大的赞赏.

rid*_*rid 8

你应该global进入这个功能.

function printQuestions($lines){
    global $questions;
    // ...
Run Code Online (Sandbox Code Playgroud)

global关键字带来的全局变量到本地范围,这样你就可以对其进行操作.如果你不使用globalprintQuestions()功能,使全局$questions变量的函数的范围,然后$questions将本地和会比你正在寻找全球的一个不同的变量.