fgetcsv()为每一行返回“true” - php

我在使用php fgetcsv()方法时遇到问题。我只能获得值“ 1”,而不是每行的数组。这是代码:

$row = 0;
$teststring='';
$handle = fopen($savepath,'r');
if($handle!==FALSE){
    while(($data = fgetcsv($handle,2000,'|')!==FALSE)){        //I am using '|' as the delimiter
        echo (string)$data;
        if($row!=0){
            foreach($data as $d){
                array_push($result['added'],$d);
            }
        }
        $row++;
    }
    fclose($handle);
}

我测试了3行csv文件,结果将为“ 111”。当然,数组$ result ['added']中没有值。有人知道发生了什么吗?谢谢。

参考方案

操作顺序!

while(($data = fgetcsv($handle,2000,'|')!==FALSE)){

PHP将此行解释为:

致电fgetcsv
不进行强制转换,将其与布尔false进行比较
将比较结果分配给$data

这不是你想要的。您的括号放错了位置,您想要在比较之前的最后一个:

while( ($data = fgetcsv($handle,2000,'|')) !== FALSE ){

我添加了额外的空格以使更改更加明显。

不带引号的CSV无法与fgetcsv一起使用 - php

我正在尝试解析用户通过PHP上传的CSV文件,但无法正常工作。我已经上传了几种格式正确的CSV,但是效果很好。我有许多用户试图导入从Excel导出的CSV文件,但遇到了问题。我将文件与我的文件进行了比较,并注意到Excel文件在条目中都缺少引号。除此之外,它们是相同的。如果我将其打开并保存到Open Office中,则无需进行任何更改。因此,我相当确定这与报…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数