strrchr没有按预期工作

时间:2015-08-27 08:36:22

标签: php

我有一系列字符,如下所示:

10.357669 , 125.106745 , 2015-08-21T05:59:34Z , 64,12,015,000000,0028,0028,0026,PETER,WHITE , 044
10.400749 , 125.119000 , 2015-08-20T04:23:46Z , 64,12,025,000000,0003,0003,0003,CHRISTOPHER,KING , 037
10.400755 , 125.118853 , 2015-08-20T04:30:04Z , 64,12,025,000000,0025,0025,0025,JOHNY,SMITH , 038

这是来自csv文件,我需要获取最后3个字符。这些名称不应该在那里,因为它们不是必需的,而是由用户上传(他们被告知格式但是太难以遵循)我不能做任何事情而是要清理它。其他一切都是必需的。所以我在名字之前没有其他数据的问题。名字后面的数据有问题。在最后一次出现“,”

之后,我只需要最后3个字符

正在搜索,我想出了 strrchr ,它找到字符串中最后一个字符,并尝试按照格式,我想出了这段代码:

$data10 =   trim(mysql_real_escape_string($data[10]));        //name_id
$ndata10=  strrchr($data10, ",");

但结果是:

000
000
000

而不是:

044
037
038

我错过了什么? TIA

1 个答案:

答案 0 :(得分:0)

假设您将数据存储在csv文件中,让我们尝试解析此文件并使用您需要的列中的数据。

示例:

<?php

$csv = array_map('str_getcsv', file('sample.csv'));

print_r($csv); // do a print to check the data

foreach ($csv as $row)
    print trim($csv[12]) . PHP_EOL; // let's print the values on the last column
    // we're using trim to do away with the extra spaces and newlines and such