使用 PHP SplFileObject 和 READ_CSV 标志时如何删除多余的行?

2024-02-13

使用 PHP 迭代 csv 文件时Spl文件对象 http://php.net/manual/en/class.splfileobject.phpREAD_CSV标记我得到一个额外的行null价值。有没有办法自动删除这一行?

$file = new SplFileObject(__DIR__.'/technologies.csv', 'r');
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
    var_dump($row);
}

这将产生一行null value.

...
array(1) {
  [0] =>
  NULL
}

您还想设置SplFileObject::SKIP_EMPTY http://php.net/manual/en/class.splfileobject.php#splfileobject.constants.skip-empty标志,并且为了使该功能也起作用SplFileObject::READ_AHEAD http://php.net/manual/en/class.splfileobject.php#splfileobject.constants.read-ahead flag.

The SplFileObject::SKIP_EMPTY http://php.net/manual/en/class.splfileobject.php#splfileobject.constants.skip-emptyflag 的作用正如它在锡上所说的那样:它会跳过空行。文件中的尾随换行符算作空行。

(Aside: SplFileObject::READ_AHEAD http://php.net/manual/en/class.splfileobject.php#splfileobject.constants.read-ahead is needed so that SplFileObject::SKIP_EMPTY http://php.net/manual/en/class.splfileobject.php#splfileobject.constants.skip-empty can do its job. The next line needs to be read, internally, so that PHP can determine if it is empty or not.)


因此,您的代码将如下所示(包含在多行中,以便您可以阅读):

$file->setFlags(SplFileObject::READ_CSV |
                SplFileObject::SKIP_EMPTY |
                SplFileObject::READ_AHEAD);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP SplFileObject 和 READ_CSV 标志时如何删除多余的行? 的相关文章

  • Laravel 集成测试:如何断言一个 URL 已被调用但另一个 URL 没有

    我想测试一个向某个 URL 发出请求的控制器 例如 http example com api say hello 但它不会向另一个 URL 发出请求 例如 http example com api say bye bye 我想测试的控制器功
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 是否必须配置 PHP 才能通过 PHP 扫描每个目录的配置 INI 文件(即我的情况下的 .htaccess 文件)?

    我在用着Windows 10 家庭单语言 64 位操作系统在我的机器上 我已经安装了最新的副本XAMPP服务器在我的机器上附带PHP 7 2 7 我从 PHP 手册中阅读了以下页面 扫描目录 https secure php net man
  • PHP - Filter_var 替代方案?

    我构建了一个 php 脚本来输出以表单形式发布的数据 但遇到了问题 网站将运行的服务器运行 PHP 5 1 6 此版本的 PHP 不支持 filter var 我需要知道短期内的替代方案 最好是昨天 但在 Google 或 Stack Ov
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • phpunit测试调用其他需要mock的类方法的方法

    我正在尝试创建一个非常标准的单元测试 在其中调用一个方法并断言它的响应 但是我正在测试的方法调用同一类中的另一个方法 该方法做了一些繁重的工作 我想模拟该方法 但仍按原样执行我正在测试的方法 仅使用从调用另一种方法返回的模拟值 我简化了示例
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定

随机推荐

  • 如何在 woocommerce 中按日期获取用户订单?

    我正在寻找一种标准方法来获取某个日期范围内或当月的用户订单总数 在探索 woocommerce 源代码之后 我得到的是 woo 正在使用这样的东西 order item amounts this gt get order report da
  • MSBuild - 比较 ItemGroups 元数据

    我正在尝试为我们的源树编写构建脚本 该树由 大量 解决方案组成 它们之间具有程序集引用 我创建了一个包含所有解决方案的 ItemGroup 并对该 ItemGroup 进行批处理以构建解决方案 我也需要复制some项目输出到 exes 输出
  • 为什么Java中的Object类包含受保护的方法?

    为什么对象类 https docs oracle com javase 7 docs api java lang Object htmlJava中包含受保护的方法 例如clone https docs oracle com javase 7
  • 从java项目中提取所有字符串

    我有相当多的源文件 我需要解析和提取所有字符串文字 并将它们作为播放旧的 java 常量放入文件中 例如 Label l new Label Cat 会成为 Label l new Label Constants CAT And in Co
  • Python 线程 stack_size 和段错误

    一个网络爬虫脚本最多产生 500 个线程 每个线程基本上请求远程服务器提供的某些数据 每个服务器的回复在内容和大小上都与其他服务器不同 我将线程的 stack size 设置为 756K threading stack size 756 1
  • 如何确定会话变量的内存占用量?

    另外 web config 请解释一下
  • isinstance 文件 python 2.7 和 3.5

    在 Python 2 7 中我得到以下结果 gt gt gt with open README md r as fin print isinstance fin file True 在 python 3 5 中我得到 gt gt gt wi
  • 如何为 Android 架构组件生命周期事件添加单元测试?

    我尝试为支持架构组件生命周期事件的函数添加单元测试 为了支持生命周期事件 我添加了 OnLifecycleEvent我的函数的注释 我想在该事件发生时执行某些操作 一切都按预期工作 但我想为该函数创建一个单元测试 以检查我的函数在预期事件发
  • 我需要让我的网站适合屏幕

    我已经将我的网站创建为固定布局 宽度为 1600px 但较小分辨率下的网页看起来太大了 我应该怎么做才能让它在每个分辨率下看起来都很好 感谢帮助 使用相对措施 例如width 100 您可以通过使用来进一步限制这一点min width an
  • Android:将彩色图像转换为灰度图像[重复]

    这个问题在这里已经有答案了 我正在尝试使用红色 绿色 蓝色的平均值将彩色图像转换为灰度图像 但它出现错误 这是我的代码 imgWidth myBitmap getWidth imgHeight myBitmap getHeight for
  • window.open target _self v window.location.href?

    我需要使用 JavaScript 重定向用户 哪种方法是首选方法 window open webpage htm self or window location href webpage htm 当然 第二种方法是首选 因为您没有另一个函数
  • 如何在 jQuery 中获取屏幕上可见的元素对象? [复制]

    这个问题在这里已经有答案了 我在 DOM 中有一个对象列表 它比屏幕高度区域长 我需要检测屏幕上的可见对象 只是为了制作类似时间线树视图的东西 如下图所示 我的 DOM 看起来像这样 div div Lorem ipsum div div
  • 如何在没有 MANIFEST.MF 的情况下运行 Java .jar?

    是否可以运行不包含的Java应用程序MANIFEST MF文件 当然还有静电main方法 只是缺少清单文件 并且该应用程序依赖于几个外部 jar files 如果这可能的话 该怎么做 您可以指定要从命令行运行的类 java cp yourJ
  • Numpy 数组切片返回切片数组和相应的数组索引

    我正在尝试从一个数组生成两个 numpy 数组 一个是原始数组的切片 另一个表示可用于查找生成的值的索引 我可以解释这一点的最好方法是通过示例 import numpy as np original np array 5 3 7 3 2 8
  • PostgreSQL:文本到 JSONB - 总大小超过最大值

    我已在文本字段中导入 JSON 数组 并希望将其转换为 JSONB 我收到以下错误 SQL错误 54000 错误 jsonb数组元素的总大小超过最大值268435455字节 错误 jsonb 数组元素的总大小超过最大值 268435455
  • 激活负颜色后图形奇怪地滑动

    我正在使用 Highcharts 在移动图表中显示一些实时变化的数据 每秒添加一个点 就像更新 highcharts 网站上的样条线示例 http www highcharts com demo dynamic update 为了清楚地看到
  • mysql 使用 unix_timestamp 变量进行分区

    鉴于这种 delimiter create procedure setup begin declare d datetime set d rounddate now create table s time req id int not nu
  • Django 比较模型实例是否相等

    据我所知 在单例情况下 您可以执行以下操作 spam eggs and if spam and eggs是具有所有相同属性值的同一类的实例 它将返回True 在 Django 模型中 这是很自然的 因为模型的两个单独实例永远不会相同 除非它
  • char** 与 char* c[] 访问字符串数组

    为什么我不能将 char 指向 C 字符串数组 int main int argc char argv char c1 Hey Hello printf s c1 1 works fine vs int main int argc char
  • 使用 PHP SplFileObject 和 READ_CSV 标志时如何删除多余的行?

    使用 PHP 迭代 csv 文件时Spl文件对象 http php net manual en class splfileobject php和READ CSV标记我得到一个额外的行null价值 有没有办法自动删除这一行 file new