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 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用