Xwab
Форумыnavigate_nextПрограммирование на PHP

Tokenizer
Сообщения
Fuelen


<?php
$source = token_get_all(file_get_contents('index.php'));
echo end(end($source)).'<br/>'.count(file('index.php'));
?>

Выводит к примеру
396
392
Это баг функции token_get_all() или я что-то не так делаю?

23 Июн 2010, 15:12
Akdmeh

end(end($source)) а что ты этим хочешь посчитать?

23 Июн 2010, 15:19
Fuelen

2, $source - массив с елементами, которые тоже являются массивами(или строками, если символы определённые), в которых последний елемент - номер строки.
У меня в последнем массиве хранится инфа о ?>.

23 Июн 2010, 15:31
Akdmeh

ты не думал, что в $source хранится несколько операторов?
То есть
<?php phpinfo(); ?>
это уже 3 оператора, хотя file() - строка только одна. Уловил ход мысли?

23 Июн 2010, 15:33
Fuelen

4, если неск операторов в строке, то будет типа так
$source = array(
...
array(цыферка для token_name(), 'оператор или чо там', номер строки),
array(цыферка для token_name(), 'оператор или чо там2', номер строки)
...
);

23 Июн 2010, 15:40
Akdmeh

Может он что-то не учитывает.
В любом случае заюзай print_r()

23 Июн 2010, 15:51
Fuelen

Да юзал)
Короче, это глючит token_get_all(), пока сырая функция

23 Июн 2010, 15:54
Ответить на тему