PHP:关联数组索引问题

时间:2014-04-29 09:46:21

标签: php arrays

我的问题很具体。我是一名初学者php程序员,我在PHP中索引数组数据结构时遇到了困难。程序正在从输入文件(input.txt)读取并将结果存储到具有与项目相同的键的数组中。虽然input.txt文件为方便起见,但我必须将它们存储为字符串(我的程序需要大小超过32位的整数)。但是当我尝试将它们编入$a["3"]时,我收到错误Undefined offset: 3。我tried $a['3']$a[3]都有相同的结果。但奇怪的是,我能够正确地索引数组$a["2"]中的最后一个元素!请帮忙。

这是输入文本文件:

3
4
5
1
2

以下是代码段:

<?php
    ignore_user_abort(true);
    set_time_limit(0);
    $temp=0;
    $a= array();
    $file= fopen("input.txt","r") or exit( "unable to open file");
    while(!feof($file)){
        $temp=fgets($file); 
        $a[$temp]=$temp;     
    }   
    fclose($file);
    echo "<br>The array is .. ";
    foreach ($a as $key => $item) {
        echo "<br> Key => item =",$key."=>",$item ;
        echo "<br>Manual array test ",$a["3"]; // This line demonstrates the problem. 
    }
    echo "<br>Manual array test ",$a["2"]; // This one has no error! So basically only the last element is being indexed correctly

    //echo "<br> No of 2 sums is ",twoSum($a,4,6);
?>

1 个答案:

答案 0 :(得分:3)

新行值也会存储在$temptrim $temp数据中,如下所示,然后尝试

$temp = trim(fgets($file));