проблема в скрипте, использующем двойной цикл

  • Автор темы Автор темы Art
  • Дата начала Дата начала

Art

Новичок
проблема в скрипте, использующем двойной цикл

Здравствуйте! У меня есть следующий скрипт:
PHP:
$box_w=200;
$f=false;
$j=false;
$i=0;
$sum=0;
$strstr='';
while ($j == false){
 while($f == false){
 If ($i <= (sizeof($aa)-1)){ 
  $tempmas = imagettfbbox (12, 0, $font_name, $aa[$i]);
  If (($box_w-$sum) > abs($tempmas[2]-$tempmas[0])){
  $strstr=trim($strstr." ".$aa[$i]);
  $mas = imagettfbbox ($font_size, 0, $font_name, $strstr);
  $sum = abs($mas[2] - $mas[0]);
  $i++;
  unset($tempmas, $mas);
  }
  else{$f=true;}
 }
 else{
 $f = true;
 $j = true;}
 }
 $finalstr[]=$strstr; //вот на эту строку сервер указывает при ошибке
 $strstr='';
 $sum=0;
}

Существует массив $aa, в котором хранятся слова(лексемы). Данный скрипт должен, исходя из ширины изображения разбить текст на строки, чтобы в каждой строке помещалось максимальное количество целых лексем, написанных шрифтом TrueType.
Если выполнять только внутренний цикл (то есть формировать из лексем только первую строку), то всё прекрасно работает. Но если запускать полный скрипт, то сервер выдаёт ошибку:
Fatal error: Maximum execution time of 30 seconds exceeded in z:\home\sms.ru\**** on line **
Помогите, пожалуйста!
 
Re: проблема в скрипте, использующем двойной цикл

Автор оригинала: Art
Здравствуйте! У меня есть следующий скрипт:
PHP:
$box_w=200;
while ($j == false){
 while($f == false){
....
 }
Очередной китайский код......
 
Maximum - максимальное
execution time - время выполнения
of 30 seconds - 30 секунд
exceeded - превышено
 
Сверху