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


PHP and excel reading - mind-boggling

我有这个小的"xls"文件,它实际上是一个以制表符分隔的文本文件。在其中,我有一个看起来像这样的值:'000000000003014610'。当用excel打开时,值正确地读取为"3014610",但是通过制表符分割并使用PHP读取它,我得到了意想不到的结果- intval()总是给出0,ltrim($val,'0')给了我完整的字符串,strlen($val)给出了一个惊人的35

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

谢谢

我最好的猜测是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类型杂耍和php字符串转换

但本质上,由于字符串从0开始,php将其视为整型