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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Bear13
Отправлено: 06 Декабря, 2011 - 15:36:52
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. function getPeriod($m,$n){
  2. (in_array($m,array('12','01','02')))?$diff[$n]=1:'';
  3. (in_array($m,array('03','04','05')))?$diff[$n]=2:'';
  4. (in_array($m,array('06','07','08')))?$diff[$n]=3:'';
  5. (in_array($m,array('09','10','11')))?$diff[$n]=4:'';
  6. return $diff[$n];
  7. }
  8. echo $diff[1]=getPeriod($month[1],1);
  9. echo $diff[2]=getPeriod($month[2],2);


Функция проверяет входящее значение $month[1] или $month[2] и после этого присваевает нужное значение переменной $diff[$n].

Как правильно вывести переменную из функции?
 
 Top
EuGen Администратор
Отправлено: 06 Декабря, 2011 - 15:43:16
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Задача в том, чтобы найти разницу между двумя датами? Почитайте про функции работы с датами.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Panoptik
Отправлено: 06 Декабря, 2011 - 15:45:21
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




чесно говоря немного бредовая функция. если я правильно понял, то нужно найти квартал года по месяцу и это можно сделать проще
PHP:
скопировать код в буфер обмена
  1.  
  2. function getPeriod($m){
  3. (in_array($m,array('12','01','02')))?$n=1:'';
  4. (in_array($m,array('03','04','05')))?$n=2:'';
  5. (in_array($m,array('06','07','08')))?$n=3:'';
  6. (in_array($m,array('09','10','11')))?$n=4:'';
  7. return $n;
  8. }
  9.  
  10. echo $diff[1]=getPeriod($month[1]);
  11. echo $diff[2]=getPeriod($month[2]);
  12.  


код не идеальный, просто сходу выкинул лишнего ненмого

(Отредактировано автором: 06 Декабря, 2011 - 15:48:38)



-----
Just do it
 
 Top
EuGen Администратор
Отправлено: 06 Декабря, 2011 - 15:48:38
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Если так, то чем плохо

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Bear13
Отправлено: 06 Декабря, 2011 - 15:51:09
Post Id


Новичок


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


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




Panoptik пишет:
чесно говоря немного бредовая функция. если я правильно понял, то нужно найти квартал года по месяцу и это можно сделать проще


Мне просто нужно оптимизировать вот этот кусок кода:
PHP:
скопировать код в буфер обмена
  1. (in_array($month[1],array('12','01','02')))?$diff_now=1:'';
  2. (in_array($month[1],array('03','04','05')))?$diff_now=2:'';
  3. (in_array($month[1],array('06','07','08')))?$diff_now=3:'';
  4. (in_array($month[1],array('09','10','11')))?$diff_now=4:'';
  5.  
  6. (in_array($month[2],array('12','01','02')))?$diff_file=1:'';
  7. (in_array($month[2],array('03','04','05')))?$diff_file=2:'';
  8. (in_array($month[2],array('06','07','08')))?$diff_file=3:'';
  9. (in_array($month[2],array('09','10','11')))?$diff_file=4:'';
 
 Top
Microteam
Отправлено: 06 Декабря, 2011 - 15:56:37
Post Id



Гость


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


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




если я вас правильно понял, то например несколько переменных можно вывести так.
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function foo($text, &$arg, &$argx)
  4. {
  5. $arg = strtoupper($text);
  6. $argx = strtolower($text);
  7. return;
  8. }
  9.  
  10. //Если вызвать функцию
  11.  
  12. foo("это НаШ текст",$t,$x)
  13.  
  14. // то переменной $t будет присвоен тот же текст только в верхнем регистре.
  15. // т.е ЭТО НАШ ТЕКСТ
  16. // а в переменной $x ,будет текст в нижнем регистре)))
  17.  


Нууу если я вас правильно понял)))


-----
int i = 6; ++i + i++ = ?
 
 Top
Panoptik
Отправлено: 06 Декабря, 2011 - 16:02:50
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




Цитата:

Нууу если я вас правильно понял)))

Это здается, не похоже, на то)
Цитата:
Мне просто нужно оптимизировать вот этот кусок кода:

ваша функция близка к истине, но второй параметр там лишний в данном случае


-----
Just do it
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB