Я читаю файл CSV, строка за строкой, используя следующий код php.
<?php
$temp=0;
$s="http://localhost/BulkMessage/Uploads/Number_Files/f7aa248e5fce52411723_CSV_7xxxxxxxx.csv";
try
{
$file = fopen($s, 'r');
} catch (Exception $ex) {
$_SESSION['error']="Can't read the file";
header('Location: '.'../view_sending_rich_message.php');
}
while (($line = fgetcsv($file)) !== FALSE)
{
echo $line[0]." Length: ".strlen($line[0])."<br>";
}
?>
Процесс чтения работает, как и ожидалось, но когда я пытаюсь напечатать длину строки, он показывает некоторые ненормальные поведение. Это несколько примеров строк из моего CSV.
- 71455169311
- 71455169112222100
Для обеих этих строк длина строки показана как 11. Для первый - правильный, а второй - 16 символов. Кажется, что для любого значения, которое имеет более 11 символов, длина строки отображается как 11 (при использовании strlen). Ниже показан сценарий из моего php для двух строк выше.
71455169311 Length: 11
7.14552E+16 Length: 11
Есть ли способ правильно определить длину строки? В чем причина такого поведения? Спасибо