我的问题很具体。我是一名初学者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);
?>
答案 0 :(得分:3)
新行值也会存储在$temp
,trim
$temp
数据中,如下所示,然后尝试
$temp = trim(fgets($file));