Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: функция

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
SAD
Отправлено: 11 Ноября, 2009 - 23:50:20
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




не пойму в чем дело, есть функция, я ее вызываю
PHP:
скопировать код в буфер обмена
  1. function ttt($raz,$mas3)
  2.   {  
  3.   for($i=1;$i<=$raz-1;$i++)
  4.       {
  5.         $imax=$i;
  6.           for($j=$i+1;$j<=$raz;$j++)
  7.             {
  8.               for($l=2;$l<7;$l++)
  9.                 {
  10.                   if($mas3[$j][$l]>$mas3[$imax][$l])
  11.                     {
  12.                       $imax=$j;
  13.                       break;
  14.                     }
  15.                   elseif($mas3[$j][$l]<$mas3[$imax][$l])
  16.                     break;
  17.                 }            
  18.             }
  19.          for($z=1;$z<7;$z++)
  20.           {
  21.             $per=$mas3[$i][$z];
  22.             $mas3[$i][$z]=$mas3[$imax][$z];
  23.             $mas3[$imax][$z]=$per;      
  24.           }  
  25.       }  
  26.    }
  27.  
  28.    ttt($raz,$mas3);


но она не работает, а если просто сам метод из функции запустить, то все нормально.
что не так?

(Отредактировано автором: 11 Ноября, 2009 - 23:54:15)

 
 Top
Dekker8
Отправлено: 12 Ноября, 2009 - 00:01:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




ну а при вызове функции ты передаешь ей параметры($raz,$mas3) ?
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:04:28
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Dekker8 пишет:
ну а при вызове функции ты передаешь ей параметры($raz,$mas3) ?

да , эти параметры у меня определены, я же говорю, если сам метод использовать, то он работает, в самом методе уже определенные переменные $raz и $mas3
 
 Top
Dekker8
Отправлено: 12 Ноября, 2009 - 00:13:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)




приведи более полный код того что не работает
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:19:48
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




так это и не работает, в $raz находится размерность массива $mas3, $mas3 считываю с файла, вот и все.
 
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2009 - 00:23:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А что она делать-то должна? Ничего не возвращает, не выводит, в глобальные переменные не заносит. Просто что-то пробегает по циклам?


-----
PostgreSQL DBA
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:24:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




вывод нового $mas3, но с этим норм
 
 Top
Bios
Отправлено: 12 Ноября, 2009 - 00:24:41
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




гг ,и что вы хотите увидить ?=)
если там нету return ;
(Добавление)
функция отработает и ничего не вернет =)
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:28:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




это типа процедуры, ничего возвращать не надо
 
 Top
JROUD
Отправлено: 12 Ноября, 2009 - 00:33:01
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




А смысл? Процедура, а для чего? В этой функции нету никакого смысла.
 
 Top
Bios
Отправлено: 12 Ноября, 2009 - 00:34:56
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




JROUD согласен

если и будет Ошибка то она в функции и останется...

что есть функция что нету разницы нету =))))
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:35:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




JROUD пишет:
А смысл? Процедура, а для чего? В этой функции нету никакого смысла.


а смысл, чтобы несколько раз не вызывать, она потом в более большой программе будет использоваться. но сам факт , что не работает.
(Добавление)
если сам метод писать без функции, то он работает!!!!!
 
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2009 - 00:38:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




SAD, так с точки зрения глобальной видимости эта функция не делает ничего
Почитайте про область видимости функций. Функция работает с копией массива, исходный массив она даже не видит, не то чтобы его изменять.


-----
PostgreSQL DBA
 
 Top
SAD
Отправлено: 12 Ноября, 2009 - 00:39:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




так что тогда делать? мне функция необходима эта
 
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2009 - 00:40:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




например:
PHP:
скопировать код в буфер обмена
  1. function ttt($raz,$mas3)
  2.   {  
  3.   for($i=1;$i<=$raz-1;$i++)
  4.       {
  5.         $imax=$i;
  6.           for($j=$i+1;$j<=$raz;$j++)
  7.             {
  8.               for($l=2;$l<7;$l++)
  9.                 {
  10.                   if($mas3[$j][$l]>$mas3[$imax][$l])
  11.                     {
  12.                       $imax=$j;
  13.                       break;
  14.                     }
  15.                   elseif($mas3[$j][$l]<$mas3[$imax][$l])
  16.                     break;
  17.                 }            
  18.             }
  19.          for($z=1;$z<7;$z++)
  20.           {
  21.             $per=$mas3[$i][$z];
  22.             $mas3[$i][$z]=$mas3[$imax][$z];
  23.             $mas3[$imax][$z]=$per;      
  24.           }  
  25.       }
  26. return $mas3;
  27.    }
  28.  
  29. $mas3 = ttt($raz,$mas3);

(Отредактировано автором: 12 Ноября, 2009 - 00:43:28)



-----
PostgreSQL DBA
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB