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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: оптимизация кода (применить цикл)
 
 автор: sav   (20.09.2006 в 23:39)   письмо автору
 
 

Здравствуйте уважаемые кодеры!!!
помогите по сабжу..
в скрипте идёт всё время повторяющиеся действия только меняются номера переменных можно ли это безобразие укоротить???
например:

$b=explode('" bor',$a[1]); 
 $tn[1]=str_replace('der',$type,$b[0]);
 $lg[1]=str_replace('tn','lg',$tn[1]);
 print "<a href='$link_lg$lg[1]' target='_blank'><img src='$link_tn$tn[1]' width='78' height='50'></a>";

в переменных $a[1] , $tn[1] , $lg[1] меняются цыфры на $a[2] , $tn[2] , $lg[2] и т.д можно ли функции str_replace() и explode() прописать один раз чтобы они применялись ко в сем т.е к $a[n] , $tn[n] , $lg[n]
заранее благодарен..

   
 
 автор: Freddie_X   (20.09.2006 в 23:58)   письмо автору
 
   для: sav   (20.09.2006 в 23:39)
 

используй цикл for().
<?php
for($i=1;$i<$n;$i++)
 {
  
$a[$i] ...
  
$tn[$i] ...
  
$lg[$i] ...
 }
?>

   
 
 автор: cheops   (21.09.2006 в 13:30)   письмо автору
 
   для: sav   (20.09.2006 в 23:39)
 

Вы можете поступить следующим образом
<?php
$script_name
$_SERVER['PHP_SELF'];


#########################-->>//
//проверка правильности входящих данных
 
$allowed_month =array('01''02''03''04''05''06''07''08''09''10''11''12');
 if (!
in_array($month$allowed_month))
 {
    die(
"<a href='javascript:history.back(1)'><<<Ошибка!!!</a>");
 }

 
$allowed_year =array('2001''2002''2003''2004''2005''2006''01''02''03''04''05''06');
 if (!
in_array($year$allowed_year))
 {
    die(
"<a href='javascript:history.back(1)'><<<Ошибка!!!</a>");
 }
############
 
$file=file_get_contents("http://seabed.nationalgeographic.com/ngm/wallpaper2.tmpl?issue_id=$date");
 
//$file=file_get_contents("wallpaper");
 
 
$a explode("$str_rep",$file);
 
 
//Начало отсева изображений-->>
 
for($i 1$i <=10$i++)
 {
   
$b=explode('" bor',$a[$i]);
   
$tn[$i]=str_replace('der',$type,$b[0]);
   
$lg[$i]=str_replace('tn','lg',$tn[$i]);
   print 
"<a href='".$link_lg.$lg[$i]."' target='_blank'><img src='".$link_tn.$tn[$i]."' width='78' height='50'></a>";
 }
?>

   
 
 автор: sav   (21.09.2006 в 20:52)   письмо автору
 
   для: cheops   (21.09.2006 в 13:30)
 

так не получается((

   
 
 автор: cheops   (21.09.2006 в 21:42)   письмо автору
 
   для: sav   (21.09.2006 в 20:52)
 

Что не работает? Какими эффектами сопровождается?

   
 
 автор: sav   (23.09.2006 в 11:55)   письмо автору
 
   для: cheops   (21.09.2006 в 21:42)
 

ничем, выводится только прописанный в коде html

   
Rambler's Top100
вверх

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