Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Очистка переменной в цикле

Сообщения:  [1-7] 

 
 автор: Unkind   (26.02.2007 в 00:05)   письмо автору
 
   для: Бамси   (25.02.2007 в 20:54)
 


<?php
$player 
= array('A''B''C');
$play implode(", "$player);
?>

   
 
 автор: mesos   (25.02.2007 в 22:04)   письмо автору
 
   для: Бамси   (25.02.2007 в 21:46)
 

Первый вопрос решен в моем посте (строка $player = array(); )
А синтаксис этот равнозначен условному оператору т.е.

$var = ($condition) ? 'something' : ' something else';

эквивалентно

if($condition)
 {
  $var = 'something';
 }
else
 {
  $var = 'something else';
 }

   
 
 автор: Бамси   (25.02.2007 в 21:46)   письмо автору
 
   для: mesos   (25.02.2007 в 21:20)
 

Спасибо по второму вопросу, все варианты интересны, но я т.к. учусь решил поставить то что я понимаю, спасибо NFR.
2mesos
Я был бы очень признателен если бы вы мне обьяснили значение строки
$play .= ($i < count($player)-1) ? ',' : '';
т.к. в книгах такого синтакса я не обнаружил ( ? ',' : '';).

PS А по первому вопрсоу не кто не разобрался?

   
 
 автор: bronenos   (25.02.2007 в 21:35)   письмо автору
 
   для: mesos   (25.02.2007 в 21:20)
 

я бы так последню запятую убрал
preg_replace ('/,$/is', '', $play);

   
 
 автор: mesos   (25.02.2007 в 21:20)   письмо автору
 
   для: Бамси   (25.02.2007 в 20:54)
 

Еще вариант:
Вот в этом блоке добавляем две строки и все будет отлично.

  $play = '';
  for($i=0; $i < count($player); $i++)
   {
    $play .= $player[$i];
    $play .= ($i < count($player)-1) ? ',' : '';
   }
  $player = array();  


ЗЫ: Рекомендую внимательно изучить этот код и понять как он работает, дабы в будущем
такие простые вопросы не ставили вас в тупик. :-)

   
 
 автор: NFR   (25.02.2007 в 21:11)   письмо автору
 
   для: Бамси   (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)   письмо автору
 
 

В конце представлен код, я его резать не стал, т.к. подумал может чего отрежу не то, не понятно будет.
Вообщем как видно в скрипте там есть цикл 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>';
}
?>

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования