【问题标题】:Storing Chunks of a CSV file in an indexed array with PHP使用 PHP 将 CSV 文件的块存储在索引数组中
【发布时间】:2015-06-25 07:27:37
【问题描述】:

我有一个数据集,其中包含一个月中每一天的配对数据,其中第一个值是时间,第二个值是位置:

12:00, Location 1,
1:00, Location 2,
//etc.

并且每一天的价值可能与其他任何一天一样多或少(或相同数量)。 CSV 的结构方式是,每天的数据价值由一行分隔,其中两个空列由逗号分隔。

// Day 1:
12:00, Location 1,
1:00: Location 2,
, ,
// Day 2
12:15, Location 3,
1:45, Location 1,

我的目标是使用 PHP 解析 CSV 并将每天的数据值存储为一个新数组,因此 month[0] 可能等于具有第一天值的数组,month[1] 是第二天,并且等等。我尝试过使用多个循环,但每次遇到“null”或空值时都难以启动一个新的多维数组。到目前为止,我已经尝试过:

<?php

$contents = file_get_contents('test.csv');
$newArray = explode(',', $contents); 
$count = count($newArray);

for($c=0; $c < $count; $c+=2) {

$time = $newArray[$c];
$location = $newArray[$c + 1];

if ( $time == null ) { echo 'empty'; } else {

echo '<li>' . $time . '&nbsp;&nbsp;&nbsp;' . $location . '</li>';

} }

然而 if 永远不会返回 true。但是,如果我针对“null”测试 $newArray[25](我的 csv 中的第一个空单元格),它会返回 true。

【问题讨论】:

  • 你试过了吗?
  • 请将您的代码尝试添加到问题中
  • @Rizier123 回想起来,不发布代码真的很愚蠢。我已经更新了我的帖子。我期待您的回复,因为我真的一直在摸索这个问题。

标签: php arrays loops csv multidimensional-array


【解决方案1】:

关于在 csv 中查找空值,试试这个:

if ( trim($time) === "") { // do something }

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2016-05-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多