PHP和excel阅读 - 令人难以置信

时间:2011-11-20 15:23:36

标签: php

所以我有这个小的“xls”文件,实际上是制表符分隔的txt文件。 在其中,我有一个如下所示的值:'000000000003014610'。当使用excel打开时,该值正确读取为“3014610”,但是通过使用选项卡将其拆分并使用PHP读取它会得到意外结果 - intval()总是给出0,ltrim($ val,'0')给我字符串完整的,strlen($ val)给出了惊人的35

有谁知道如何解决这个问题,问题可能是什么?

由于

1 个答案:

答案 0 :(得分:0)

我最好的猜测是strlen()是正确的,因为它是一个35个字符的字符串,并且你试图把它转换为int而且它太大了。举个例子:

$cell = explode(" ", $rawCellData);
$cell_num = (int) $cell[0];
$cell_data = (int) $cell[1];
$cell_text = (string) $cell[2];

echo "$cell_num $cell_data $cell_text<br>";

你会发现$ cell_data与它应该的相等。

查看这两个参考文献: php type jugglingphp string conversion

但实质上,由于字符串以零开头,因此php将其视为一个int。