За последние 24 часа нас посетили 60624 программиста и 1743 робота. Сейчас ищут 912 программистов ...

цикл while()

Тема в разделе "PHP для новичков", создана пользователем skv_79, 31 июл 2009.

  1. skv_79

    skv_79 Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    26
    Симпатии:
    0
    Здравствуйте, сейчас изучаю PHP, собственно не могу понять, как работает этот цикл в следующем листинге:
    Код (Text):
    1. <?php
    2. header("Content-type: image/gif");
    3. $height = 100;
    4. $width = 200;
    5. $fontsize = 50;
    6. if ( ! isset ( $text ) )
    7.     $text = "Change me!";
    8. $image = imagecreate(200, 200);
    9. $red = imagecolorallocate($image, 255, 0, 0);
    10. $blue = imagecolorallocate($image, 0, 0, 255);
    11.  
    12. $font = "C:\Windows\Fonts\OUTRIGHT.TTF";
    13. $textwidth = $width;
    14. $textbodyheight = $height;
    15. while ( 1 )
    16.     {
    17.     $box = imageTTFbox ($fontsize, 0, $font, $text );
    18.     $textwidth = abs( $box[2] );
    19.     $textbodyheight = abs( $box[7] ) - 2;
    20.     if ( $textwidth < $width - 20 )
    21.         break;
    22.     $fontsize--;
    23.     }
    24. $gifXcenter = (int) ( $width/2 );
    25. $gifYcenter = (int) ( $height/2 );
    26. imageTTFtext ( $image, $fontsize, 0,
    27.     (int) ($gifXcenter - ($textwidth/2),
    28.     (int) ($gifYcenter + ($textbodyheight)/2),
    29.     $blue, $font, $text );
    30. imagegif($image);
    31. ?>
    Что такое while (1)? этот цикл будет выполняться только 1 раз?
    Заранее спасибо!
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Это бесконечный цикл. Условие всегда истинно. Прервать такой цикл можно только при помощи оператора break.
     
  3. skv_79

    skv_79 Активный пользователь

    С нами с:
    20 июл 2009
    Сообщения:
    26
    Симпатии:
    0
    Спасибо большое!