dousi6701 2016-08-31 15:19
浏览 53
已采纳

Php数组返回null?

I have php file which reads a file and puts it's contents in specific arrays. This php file is a file on it's own. So I included it on another page. When I want to access one of the arrays on the other site, the output is "array(0) { }". The var_dump on the file below, however returns a full array with all 6 items(as expected).

Here my php file:

<?php

$englishTranslationsList = array();
$germanTranslationsList = array();
$timestampList = array();
$noteList = array();

function extractTranslationsFromFile($file){

    $handle = fopen($file, "r");
    if ($handle){

        while (($line = fgets($handle)) !== false) {

            $notelist[] = $line;

            $lineContent = substr($line, 3, strlen($line) - 1);

            switch(substr($line, 0, 3)):

            case "de:":  $germanTranslationsList[] = $lineContent;  break;
            case "en:":  $englishTranslationsList[] = $lineContent; break;
            case "ts:":  $timestampList[] = $lineContent; break;

            default: break;

            endswitch;

        }

        fclose($handle);

    }else{

        echo "<script>alert('ERROR')</script>";

    } 

    echo var_dump($germanTranslationsList);

}

?>

On the site where I included it, I used

<p><?php echo var_dump($germanTranslationsList); ?></p>

Which just shows an empty array as said above... What have I done wrong? Is there a way to fix it?

  • 写回答

2条回答 默认 最新

  • dongxiang7276 2016-08-31 15:30
    关注

    You need to bring the global variables into the function's scope using the global keyword:

    <?php
    
    $englishTranslationsList = array();
    $germanTranslationsList = array();
    $timestampList = array();
    $noteList = array();
    
    function extractTranslationsFromFile($file) {
        global $englishTranslationsList;
        global $germanTranslationsList;
        global $timestampList;
        global $noteList;
    
        // ...
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色