gpt4 book ai didi

php - 获取错误 undefined offset : 1

转载 作者:行者123 更新时间:2023-12-03 08:57:44 25 4
gpt4 key购买 nike

我知道这个错误已经发生了很多,但是我无法在网站上找到另一个问题来解决我的问题。

这是我的代码:

<?php

$handle = fopen('text document here', 'r');

if ($handle === false) {
die("ERROR");
}
$array = array();
$array = fgets($handle);

$handle = explode("\n", $array);

$foo = $handle;
$outA = array();
$outB = array();


foreach($foo as $value)
{
list($x, $y) = explode(",",$value);
$outA[] = $x;
$outB[] = $y;
}

echo $outA[0];
echo $outB[0];
?>

我不断收到错误“第20行,在C:\ wamp \ www \ arraytest.php中,注意: undefined offset :1”

尽管我得到了错误,但我还是从数组中打印出了前两个值,而且它们看起来都是正确的,所以我不知道到底是什么引起的。

- 编辑 -

这是我要导入的数据的结构:

12,13
12,14
12,15
12,16
12,17
12,18
12,21
12,22
12,31

最佳答案

这里的问题是您实际上并没有遍历文件中的所有行。

$array = fgets($handle);

现在, $array变量将仅包含第一行。其余行将被忽略。

并且,在您的代码中,您具有:
list($x, $y) = explode(",",$value);

这基本上是尝试将第一个数组值分配给 $x,将第二个数组值分配给 $y。没有第二项,因此您会收到 Undefined offset错误。

解决方案是实际遍历所有线路。我将使用 while循环,如下所示:
$handle = fopen('text document here', 'r');

if ($handle === false) {
die("ERROR");
}

while(!feof($handle))
{
$value = fgets($handle);
list($x, $y) = explode(",",$value);
$outA[] = $x;
$outB[] = $y;
}

echo $outA[0]."\n";
echo $outB[0];

输出:
12
13

其余的值也可以正确存储。您可以使用 print_r($outA);对此进行验证。

关于php - 获取错误 undefined offset : 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18676567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com