| |
|
|
| | В конце представлен код, я его резать не стал, т.к. подумал может чего отрежу не то, не понятно будет.
Вообщем как видно в скрипте там есть цикл for которые пребовляет к переменной $play, некие имена, но проблемма в том что файлов много, и он эту перемеренную, перед след файлом, должен очищать. Для этого я перед циклом поставил play = ""; Но что то не помогает, и он попрежнему продолжает добавлять новые значения, к старым переменным.
Второй вопрос состоит в след.: есть цикл
for($i=0; $i < count($player); $i++)
{
$play .= $player[$i].',';
}
Как видно он после $player[$i] ставит запятую, но я хотел бы, если это последний элемент в цыкле, то что бы он запятую не ставил. Тоже вот не получаеться...
Вот и все :)
<?php
$dir = '.';
$arr = scandir($dir);
$pattern = '|gr_(.{4})(.{2})(.{2})(.{2})(.{2})(.{2})_(.{6})|i';
foreach($arr as $file)
{
if ($file == '.' || $file == '..') continue;
preg_match($pattern, $file, $matches);
list($all, $year, $month, $day, $hour, $min, $sec, $id) = $matches;
$fd = file($file);
foreach($fd as $s)
{
if(strpos($s, "LOSS"))
{
list($player[], $res) = explode(" ", $s);
}
elseif(strpos($s, "WIN"))
{
list($player[], $res) = explode(" ", $s);
}
}
$play = '';
for($i=0; $i < count($player); $i++)
{
$play .= $player[$i].',';
}
$full = $hour.':'.$min.' '.$day.'-'.$month.'-'.$year.' ID:'.$id.' ['.$play.']';
echo '<a href='.$file.'>'.$full.'<br>';
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: Бамси
(25.02.2007 в 20:54)
| | | По второму вопросу:
for($i=0; $i < count($player); $i++)
{
if($i!=count($player)-1) $play .= $player[$i].',';
else $play .= $player[$i];
}
|
Ну или что-то в этом роде..;-) | |
| |
|
|
| |
|
|
| |
для: Бамси
(25.02.2007 в 20:54)
| | | Еще вариант:
Вот в этом блоке добавляем две строки и все будет отлично.
$play = '';
for($i=0; $i < count($player); $i++)
{
$play .= $player[$i];
$play .= ($i < count($player)-1) ? ',' : '';
}
$player = array();
|
ЗЫ: Рекомендую внимательно изучить этот код и понять как он работает, дабы в будущем
такие простые вопросы не ставили вас в тупик. :-) | |
| |
|
|
| |
|
|
| |
для: mesos
(25.02.2007 в 21:20)
| | | я бы так последню запятую убрал
preg_replace ('/,$/is', '', $play); | |
| |
|
|
| |
|
|
| |
для: mesos
(25.02.2007 в 21:20)
| | | Спасибо по второму вопросу, все варианты интересны, но я т.к. учусь решил поставить то что я понимаю, спасибо NFR.
2mesos
Я был бы очень признателен если бы вы мне обьяснили значение строки
$play .= ($i < count($player)-1) ? ',' : '';
т.к. в книгах такого синтакса я не обнаружил ( ? ',' : '';).
PS А по первому вопрсоу не кто не разобрался? | |
| |
|
|
| |
|
|
| |
для: Бамси
(25.02.2007 в 21:46)
| | | Первый вопрос решен в моем посте (строка $player = array(); )
А синтаксис этот равнозначен условному оператору т.е.
$var = ($condition) ? 'something' : ' something else';
|
эквивалентно
if($condition)
{
$var = 'something';
}
else
{
$var = 'something else';
}
|
| |
| |
|
|
| |
|
|
| |
для: Бамси
(25.02.2007 в 20:54)
| | |
<?php
$player = array('A', 'B', 'C');
$play = implode(", ", $player);
?>
|
| |
| |
|
|