Артём Б.
9 повідомлень
#15 років тому
Имеется текстовый файл следующего вида:

...
ул. Московская;6, 27
...

Нужно сделать следующее: выбрать из файла первую часть (название улицы), сложить это все в поле выбора из списка, при выборе той или иной улицы показать: "по данной улице ходят автобусы:", а затем номера автобусов после точки с запятой
Артем Л.
11416 повідомлень
#15 років тому
А номера автобусов откуда браться будут? Из другого файла? какая структура?
Артём Б.
9 повідомлень
#15 років тому
В файле читаем строку

ул. Московская;6,27

после всех действий выводим: по ул. Московская ходят автобусы №6, №27
Артем Л.
11416 повідомлень
#15 років тому

$file_array = file("file.txt");
if(!$file_array)
{
echo("Ошибка открытия файла");
}
else
{
for($i=0; $i < count($file_array); $i++)
{
$arr = explode(";",$file_array);
$street = $arr;
$bus = $arr;
}
}
for($i=0; $i < count($file_array); $i++)
{
echo "по".$street." ходят автобусы".$bus;
}
Артём Б.
9 повідомлень
#15 років тому
Спасибо, а с номерами автобусов как быть
Артем Л.
11416 повідомлень
#15 років тому
Подправил в предыдущем посте
Лев П.
249 повідомлень
#15 років тому
А зачем в 2 цикла?)
Тут М.
626 повідомлень
#15 років тому
open(F, "<file.txt") || die $!;
my @file = <F>;

for my $line ( @file ) {
chomp $line;
my ( $street, $buses ) = split( /;/, $line );
$buses =~ s/\s//g;
my @buses = split( ',', $buses );
print "по $street " . ( scalar(@buses) > 1 ? 'ходят автобусы ' : 'ходит автобус ') . join( ', ', map{ '№' . $_ } @buses) . "\n";
}
Артем Л.
11416 повідомлень
#15 років тому
Цитата ("lev4852"):
А зачем в 2 цикла?)

Для наглядности

Demiurh, жестоко Вы
Артём Б.
9 повідомлень
#15 років тому
Спасибо огромное!