【发布时间】:2017-09-26 18:43:41
【问题描述】:
我正在使用 php-ml 并接收一个包含 6 列和数千行的 .csv 文件,我希望每个数组的每个第 5 个元素(列)都保存在 $samples 中。我尝试了以下方法,它给了我每个数组的第一个元素。
$dataset = new CsvDataset('myCsvFile.csv', 1);
$samples = [];
foreach ($dataset->getSamples() as $sample) {
$samples[] = $sample[0];
}
但是,这给了我每个数组的第一个元素,如果我按照语法上的想法更改$sample[0] to $sample[4],这将起作用,我会在有问题的行上得到一个未定义的偏移量。我是 PHP 新手,不明白为什么会发生这种情况。
如果代码如上所示并打印出来,则如下所示:
Array
(
[0] => 1157
[1] => 1157
[2] => 1157
[3] => 1157
[4] => 1157
[5] => 1157
[6] => 1157
[7] => 1157
[8] => 1157
...等等。
【问题讨论】:
-
你能把csv 1或line的样本数据放在这里
-
到目前为止你尝试过什么? Stack Overflow 不是代码编写服务...
-
@TomUdding 我已经尝试编辑了这个问题
-
@johnfish92 '0' (
$sample[0];) 选择 CSV 文件的第一列。 '1' 将选择第二列,'2' 将选择第三列,依此类推... -
我添加了您之前的代码,因为您刚刚删除了代码并用完全不同的代码替换了它。也许您应该发布您实际使用的内容。