У меня есть текстовый файл на сервере, созданный в результате экспорта базы данных. Я не могу контролировать этот файл. Я пытаюсь разобрать его в PHP, чтобы получить некоторые данные для отображения на веб-странице. Когда я пытаюсь найти последний элемент в строке, он не может его найти.
Вот часть текстового файла:
ERMHDR 8.2 2017-02-02 Project admin Primavera Admin dbxDatabaseNoName Project Management USD
%T CURRTYPE
%F curr_id decimal_digit_cnt curr_symbol decimal_symbol digit_group_symbol pos_curr_fmt_type neg_curr_fmt_type curr_type curr_short_name group_digit_cnt base_exch_rate
%R 1 2 $ . , #1.1 (#1.1) Dollar USD 3 1
%R 10 2 $ . , #1.1 (#1.1) Argentine Peso ARS 3 3.077
%R 11 2 A$ . , #1.1 (#1.1) Australian Dollar AUST 3 1.208
%R 13 2 R$ . , #1.1 (#1.1) Brazilian Real BRL 3 2.014
%R 14 2 £ . , #1.1 (#1.1) British Pound U.K. 3 0.501762
%R 15 2 CA$ . , #1.1 (#1.1) Canadian Dollar CAD 3 1.10573
%R 16 2 Y . , #1.1 (#1.1) Chinese Yuan CNY 3 7.694
%R 17 2 € . , #1.1 (#1.1) EURO EUR 3 0.739088
%R 20 2 HK$ . , #1.1 (#1.1) Hong Kong Dollar HKD 3 7.81967
%R 21 2 Rs . , #1.1 (#1.1) Indian Rupee INR 3 40.67
%R 23 2 ¥ . , #1.1 (#1.1) Japanese Yen JPY 3 120.167
%R 24 2 K . , #1.1 (#1.1) Korean Won KRW 3 924.743
%R 25 2 N$ . , #1.1 (#1.1) Mexican Peso MXN 3 10.7938
%R 26 2 R . , #1.1 (#1.1) Russian Rouble RUB 3 25.8085
%R 28 2 Sk . , #1.1 (#1.1) Swedish Krona SEK 3 6.80579
%R 29 2 kr . , #1.1 (#1.1) Swiss Franc CHF 3 1.21864
%R 30 2 NIS . , #1.1 (#1.1) Israel Shekel ILS 3 3.96384
Это отлично работает. Он находит строку со вторым значением «10» и возвращает номер строки.
<?php
$txt_file = file_get_contents('sandbox/uploads/sample3.xer');
$rows = explode("\n", $txt_file);
array_shift($rows);
foreach($rows as $row => $data)
{
$row_data = explode("\t", $data);
if($row_data[1] == "10"){ //THIS IS THE LINE GIVING ME PROBLEMS
echo 'Row #: ';
echo $row;
echo ' ';
echo $row_data[1];
echo '<br>';
}
}
?>
Однако, если я изменю указанную строку на эту, это не сработает.
if($row_data[1] == "CURRTYPE"){
Я думаю, проблема в том, что когда я взорвал файл, я каким-то образом помещал специальный символ в конец каждой строки, и мне нужно включить этот символ в мой оператор if, но я не могу понять, что это за специальный символ . Я пробовал добавить пробел, \ n, \ t.
Кто-нибудь может помочь ???