[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    936
    Likes Received:
    335
    Reputations:
    52
    Adio
    PHP:
    <?php
    for($i 1$j 2$c 3$c <= 9$i += 3$j += 3$c += 3) {
        echo 
    "<good".$i.">data</good".$i.">\r\n";
        echo 
    "<bad".$j.">data</bad".$j.">\r\n";
        echo 
    "<ok".$c.">data</ok".$c.">\r\n\r\n";
    }
    Adio, это просто ужасно! Даже если захочешь, то не получится структурировать речь подобным образом.
    Извини конечно, но я все же поинтересуюсь. Неужто и в реальной жизни ты так же выстраиваешь предложения?
    Или может ты из далеких стран и русский язык для тебя не родной?
     
  2. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Я общаюсь на разных языках каждый день почти в переводчиками и без на русском меньше всего :) Но я не могу правильно излагать - ну как правильно... вообщем в голове хаус я конечно могу постораться изложить оччень правильно но дело в том что я первоначальну думаю что меня поймут ))
     
  3. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вопрос, как добавить в третью строку, независимый цикл ?


    Который будет начинаться с 0 и по возврастанию ? пробовал вставить $i но он перепрыгивает цифры..
     
  4. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Adio, пожалуйста продумайте еще раз ТЗ, вдумчиво и внятно, потому как понять Вас невозможно!
     
  5. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Code:
    <?php
    
    $i = 1;
    $b = 0;
    
    while($i<=9) {
    
    $b++;
    
    if($b==1) echo "<good".$i.">data</good".$i.">\n";
    if($b==2) echo "<bad".$i.">data</bad".$i.">\n";
    if($b==3) {echo "<ok".$i.">data</ok".$i.">\n"; $b=0; }
    
    
    $i++;
    }
    
    ?>
    
    Хочу что бы было


    Code:
    <?php
    
    $i = 1;
    $b = 0;
    
    while($i<=9) {
    
    $b++;
    
    if($b==1) echo "<good".$i.">data</good".$i.">\n";
    if($b==2) echo "<bad".$i.">СДЕСЬ ЦИКЛ НАЧИНАЕТЬСЯ С 0</bad".$i.">\n";
    if($b==3) {echo "<ok".$i.">data</ok".$i.">\n"; $b=0; }
    
    
    $i++;
    }
    
    ?>
    
    т.е когда будет генирироваться код, в строке номер два, будет отображаться независимый цикл который будет начинаться с 0




    я понял, что бы сделать то что мне нужно, нужно использовать версию

    Code:
    for($i = 1, $j = 2, $c = 3; $c <= 9; $i += 3, $j += 3, $c += 3) {     echo "<good".$i.">data</good".$i.">\r\n";     echo "<bad".$j.">data</bad".$j.">\r\n";     echo "<ok".$c.">data</ok".$c.">\r\n\r\n"; } 
    туда добваить еще один цикл к примеру $z и вставить его


    БЛИННН ДОБОВЛЯЮ ПЕРЕМЕННУ СДЕЛАННУЮ ПО ТИПУ $J и весь механизм рушиться, генирируеться все не так, КАК ТУДА добавать еще одну переменную ? в предыдущем примере все было просто, но там я не знаю как добовлять
     
    #20565 Adio, 12 May 2012
    Last edited: 12 May 2012
  6. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообщем сообразил как доставить инфу до вас вот.

    Имеем код

    Code:
    <?php  $i = 1; $b = 0;  while($i<=9) {  $b++;  if($b==1) echo "<good".$i.">data</good".$i.">\n"; if($b==2) echo "<bad".$i.">data</bad".$i.">\n"; if($b==3) {echo "<ok".$i.">data</ok".$i.">\n"; $b=0; }   $i++; }  ?>
    
    он генерирует вот это

    Code:
    <good1>data</good1>
     <bad2>data</bad2>
     <ok3>data</ok3>
    
    <good4>data</good4>
     <bad5>data</bad5>
     <ok6>data</ok6>
    
    
    <good7>data</good7>
     <bad8>data</bad8>
     <ok9>data</ok9>
    
    Нужно сделать так


    Code:
    <good1>data</good1>
     <bad2>data СДЕСЬ ЦИФРА НОЛЬ 0</bad2>
     <ok3>data</ok3>
    
    <good4>data</good4>
     <bad5>data СДЕСЬ ЦИФРА ОДИН 1</bad5>
     <ok6>data</ok6>
    
    
    <good7>data</good7>
     <bad8>data СДЕСЬ ЦИФРА ДВА 2</bad8>
     <ok9>data</ok9>
    

    надеюсь вы поняли :(
     
  7. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    936
    Likes Received:
    335
    Reputations:
    52
    Adio
    PHP:
    <?php
    $z 
    0;
    for(
    $i 1$j 2$c 3$c <= 9$i += 3$j += 3$c += 3) { 
        echo 
    "<good".$i.">data</good".$i.">\r\n"
        echo 
    "<bad".$j.">data $z</bad".$j.">\r\n"
        echo 
    "<ok".$c.">data</ok".$c.">\r\n\r\n";
        
    $z++;
    }
     
    1 person likes this.
  8. -=Nikola=-

    -=Nikola=- New Member

    Joined:
    21 Oct 2011
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Приветсвую всех! Помогите :confused: с авторегой на _toodoo.ru. Вот говнокод, в чем ошибка? Не вижу(
    PHP:
    <?php

    function register($email$password)
    {
        
        
    $post = array(
                                    
    'firstname' => 'firstname',
                                    
                                    
    'lasttname' => 'lasttname',
                                    
                                    
    'email'     => $email,
                                    
                                    
    'password' =>    $password,
                                    
                                    
    'is_female' =>1,
                                    
                                    
    'user_birthday_day' => 11,
                                    
                                    
    'user_birthday_month' => 11,
                                    
                                    
    'user_birthday_year' => 2005,
                                    
            
            
        );

        
    // Особая, curl-ная магия
        
    $ch curl_init(); // Инициализируем сессию
        
    curl_setopt($chCURLOPT_URL,"http://toodoo.ru/registration/"); // задаем адрес обработчика формы
        
    curl_setopt($chCURLOPT_POST1); // Указываем, что нам нужно отправить POST-запрос
        
    curl_setopt($chCURLOPT_POSTFIELDS$post); // Передаем POST-параметры
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1); // Результат нам нужно вернуть в переменную, а не на экран
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION1); // Переходить по редиректам
        // Генерируем временный файл для cookies, чтобы они не терялись между запросами-редиректами
        
    $temp tempnam('.''__');
        
    curl_setopt($chCURLOPT_COOKIEJAR$temp);
        
    unlink($temp);
        
        
        
        
    // Запускаем запрос!
        
    $result curl_exec($ch);
        
        
        
    curl_close ($ch); // Закрываем сессию
        
        // Проверяем на успешность регистрации
    if(strstr($result'Поздравляем, ты успешно зарегистрировался в toodoo!'))
        {
            return 
    true;
        }
        else
        {
            return 
    false;
        }
    }
        

    $email 'df2543fdpf@mail.ru';
    $password 'qdfdsdff';

    echo 
    "пароль: $password, email: $email<br/>";


    // Регаем
    if(register($email$password))
    {
        echo 
    'Все ок!';
    }
    else
    {
        echo 
    '<b>Ошибка регистрации</b>';
    }


    ?>
     
  9. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    А зачем переменную освобождать?
    Для начала стоит указать реферер, и юзер агент, возможно там токены используются.
     
  10. maxdjab

    maxdjab New Member

    Joined:
    7 Nov 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    блеклист

    Всем доброго времени
    есть скрипт записи - вывода
    PHP:
    // текст песни
    $lir_txt='';
    if(
    $full_list[sslyr]=="true"){
    if(
    $val->lyrics_id){
      if(
    $full_list[sspostr]=="true")
      { 
    $tmpfname2=md5($val->lyrics_id);
         if(
    is_file(dirname(__FILE__)."/temp/".$tmpfname2.".txt"))
         {
         
    $lir_txt=file_get_contents(dirname(__FILE__)."/temp/".$tmpfname2.".txt");
         }
         else { 
    $lir_txt=get_lyr($val->lyrics_id);
         if(
    $lir_txt){
            
    $fpt=fopen(dirname(__FILE__)."/temp/".$tmpfname2.".txt"w);
            
    fputs($fpt,$lir_txt);
            
    fclose($fpt);
            }
         }
      }
      else { 
    $tmpfname2=md5($val->lyrics_id); $lir_txt=get_lyr($val->lyrics_id); }
    } else 
    $lir_txt=false;;

    if(
    $lir_txt){ $lir_txt=iconv(get_encoding($lir_txt),'windows-1251',$lir_txt);
    $mcc="href=\"javascript:sshow('".$val->lyrics_id."')\" style='color:#FF8000'";
    } else { 
    $mcc=""$lir_txt="";}
      }
    if(
    strlen($lir_txt)<OR !isset($lir_txt)) $istxt="style='text-decoration:none;cursor:default;'"; else $istxt='';
    $lir_txt="<div style='padding:0px 40px 0px 40px'>".$lir_txt."</div>";
    // текст песни
    подскажите как прикрутить блеклист (проще вырезать не нужные символы типа ссылок)
     
  11. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    delete it
     
  12. -=Nikola=-

    -=Nikola=- New Member

    Joined:
    21 Oct 2011
    Messages:
    24
    Likes Received:
    3
    Reputations:
    0
    Исправил не помогло, думаю, что накосячил с заголовками, но не вижу где
     
  13. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Как задать сделать рандомный выбор строк, из которых каждая должна повториться 8 раз ?

    К примеру :

    Code:
    Привет1
    Привет2
    Привет3
    
    Код - выбиратает рандомно из Привет1,Привет2,Привет3, - но что бы в сумме Привет1 встретился 8 раз, Привет 2 Восемь раз, Привет 3 восемь раз, только в рандомном порядке. ? Просто тут задачи как бы с математической логикой
     
  14. Mr.Snuffer

    Mr.Snuffer Member

    Joined:
    2 Jul 2010
    Messages:
    140
    Likes Received:
    13
    Reputations:
    0
    если из массива, то

    PHP:
    $arr = array('qwe','qwe1','qwe2','qwe3',
    'qwe4','qwe5','qwe6','qwe7');
    shuffle($arr);
    for (
    $i=0;$i<8;$i++){
     
    $arr[] = $arr[0];
     
    $arr[] = $arr[2];
     
    $arr[] = $arr[3];
    }
    shuffle($arr);
    print_r($arr);
    Проще не знаю.
     
    #20574 Mr.Snuffer, 12 May 2012
    Last edited: 12 May 2012
  15. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Спасибо но дело в том что не все повторяються по 8 раз, к примеру первое значение массива только один раз, и 6 один раз, только что проверил..
     
  16. Mr.Snuffer

    Mr.Snuffer Member

    Joined:
    2 Jul 2010
    Messages:
    140
    Likes Received:
    13
    Reputations:
    0
    Что то не совсем я понял.

    http://ideone.com/yk46Y#view_edit_box

    Берет 3 рандомных значения из массива, и повторяет их 8 раз, потом перемешивая.

    Походу я просто вопрос не совсем понял.
     
    1 person likes this.
  17. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Все верно вы сделали, только не три значение, а все значение в массиве должны перемешиваться и повторяться 8 раз..
     
  18. Кишин

    Кишин New Member

    Joined:
    5 Jul 2011
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Память расходуемая на выполнение скрипта!

    Здраствуйте уважаемые знатоки =)
    Кто мне подскажет почему так происходит:
    Вот этот код на денвере потребляет 64322 байта (64Кб).

    PHP:
    <?php 
    header
    ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
    header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Pragma: no-cache"); // HTTP/1.0

    for ($counter 0$counter 30$counter++) 
    {
       echo 
    'бла бла бла<br>'


    echo 
    memory_get_usage(); // измеряем потраченую память
    ?>
    А на сервере он жрёт 321368 баит (321Кб)!!!

    Вот некак непойму почему так :rolleyes: :confused: :eek:
    Почемутакая разница огромная? И нормально ли это?

    Спасибо.
     
  19. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Есть sql запрос с дин. кол-вом параметров(выборка через mysqli), как лучше его модифицировать в зависимости от кол-ва параметров?
    Ну в смысле если не передан какой либо из параметров.
    допустим такая функц.
    PHP:
    function GetList(param1 ""param2 ""param3"") {

    //   И тут запрос 3 параметра допустим может и не быть или второй пустой будет и.т.д


    }



     
    #20579 mironich, 12 May 2012
    Last edited: 12 May 2012
  20. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    http://ideone.com/2U5p7
     
Loading...
Thread Status:
Not open for further replies.