Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Вызов функции
Сообщения
apple

создал файл functions.php
в нем у нас такое:
[php:1:0858ccb596]<?
function mounth()

{
$chek = date(m);
switch ($chek)
{
case '1':
$mounth = "Января";
break;
case '2':
$mounth = "Февраля";
break;
case '3':
$mounth = "Марта";
break;
case '4':
$mounth = "Апреля";
break;
case '5':
$mounth = "Мая";
break;
case '6':
$mounth = "Июня";
break;
case '7':
$mounth = "Июля";
break;
case '8':
$mounth = "Авгста";
break;
case '9':
$mounth = "Сентября";
break;
case '10':
$mounth = "Октября";
break;
case '11':
$mounth = "Ноября";
break;
case '12':
$mounth = "Декабря";
break;
}
}


?>[/php:1:0858ccb596]


потом в нужном мне файле я подключаю это файл, и вызываю эту функцию
[php:1:0858ccb596]
<?
mounth();
echo $chek;
?>
[/php:1:0858ccb596]
но ничего не происходит

04 Янв 2013, 13:11
sirious

apple, утебя функция ничего не возвращает, в конце функции допиши: return $chek;
И вызывай ее: echo mounth();


__________
посл.ред. 04 Янв 2013, 13:26; всего 2 раз(а) 04 Янв 2013, 13:16
Akdmeh

2, не совсем.
Нужно сделать return $mounth;
и затем вызов через echo mounth();
И вообще, по-английски правильно пишется month, а mounth вообще не существует

04 Янв 2013, 13:21
apple

Akdmeh, да, спасибо, золошил =D

04 Янв 2013, 13:24
Akdmeh

[php:1:adbc0207ff]<?php
function month()
{
$month_arr=array('Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря');
$cheсk = date(m);
return $month_arr[$check-1];
//возвращаем имя, но так как нумерация в массиве с ноля - начинаем с ноля.
//в итоге функция, которая занимала кучу места, теперь занимает 3 строки
}

echo month(); //выведет текущий месяц

?>[/php:1:adbc0207ff]

Вообще функция нелогична, так как было бы логичнее указывать ей нужную дату, то есть, вынести $check за пределы функции

04 Янв 2013, 13:26
apple

Akdmeh, может и не логично, но мне ясно как два пальца обосрать.=)

а вот еще, мне этот месяц нужно еще в дату запилить.
вот так не получается
[php:1:ef7ca4b33a]<?$moun = date('d ').month();?>[/php:1:ef7ca4b33a]

04 Янв 2013, 13:33
Akdmeh

6, она возвращает только текущий месяц, в этом и ее проблема.
Должно работать, напиши echo $moun; и проверь.
И еще раз повторяю, правильно - $month, не быдлокодь!

04 Янв 2013, 13:35
apple

все все я понял =D спасибо все работает. Я учусь=)

04 Янв 2013, 13:38
Виктор

Ещё совет. Что бы в функции редактировать переменные не касающиеся этой функции используй global
Например
[php:1:261db3b305]<?php
function mounth()
{
global $mounth; // вот
$chek = date(m);
switch ($chek)
{
case '1':
$mounth = "Января";
break;
case '2':
$mounth = "Февраля";
break;
case '3':
$mounth = "Марта";
break;
case '4':
$mounth = "Апреля";
break;
case '5':
$mounth = "Мая";
break;
case '6':
$mounth = "Июня";
break;
case '7':
$mounth = "Июля";
break;
case '8':
$mounth = "Августа";
break;
case '9':
$mounth = "Сентября";
break;
case '10':
$mounth = "Октября";
break;
case '11':
$mounth = "Ноября";
break;
case '12':
$mounth = "Декабря";
break;
}
}
mounth();
echo $mounth;
?>[/php:1:261db3b305]

04 Янв 2013, 13:50
Akdmeh

Боже упаси использовать глобал!!!

04 Янв 2013, 13:51
Ответить на тему