X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как создать функцию
scva
scva
Topic Starter сообщение 12.10.2010, 22:33; Ответить: scva
Сообщение #1


Вот так я склоняю
[php]
$number = MYSQL_NUMROWS($arr);

if ($number == 0) {$total = "Нет комментариев";}
if ($number == 1) {$total = "Один комментарий";}
if ($number > 1 and $number < 4) {$total = ''.$number.' комментария';}
if ($number >= 5) {$total = ''.$number.' комментариев';}
[/php]Как составить функцию из этого. Ведь в таких случаях применяются функции. Дело в том, что ни разу не писал функцию, поэтому и не имею представления.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 12.10.2010, 22:53; Ответить: Letmetouchyou
Сообщение #2


[PHP]function commentsCount($number){


if ($number == 0) {$total = "Нет комментариев";}
if ($number == 1) {$total = "Один комментарий";}
if ($number > 1 and $number < 4) {$total = ''.$number.' комментария';}
if ($number >= 5) {$total = ''.$number.' комментариев';}

return $total;
}


echo commentsCount(mysql_num_rows($arr));[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scva
scva
Topic Starter сообщение 12.10.2010, 22:56; Ответить: scva
Сообщение #3


1. Все равно не понимаю, мы определяем переменную total, для чего она нужна, ведь мы ее не выводим. Можно ли без нее?

2. Зачем второй раз mysql_num_rows echo commentsCount(mysql_num_rows($arr)); Нельзя ли просто echo commentsCount;

а вот это выражение упростить можно
[php]$number > 1 and $number < 4[/php]что то мне кажется, что можно проще
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Flok
Flok
сообщение 12.10.2010, 23:41; Ответить: Flok
Сообщение #4


разбираю по порядку:

function commentsCount($number)

создаём функцию commentsCount, которая будет возвращать какой-то результат после своей работы.

переменная $number - это переменная строго этой функции.

И при этом функция каждый раз при её вызове будет ожидать, что мы передадим ей какую-то переменную, которая и будет считаться этой переменной $number.

echo commentsCount($arr);
в данном случае мы показываем результат работы функции, когда передаём ей переменную $arr. Теперь, во время её работы, вместо переменной $number будет подставляться значение переменной $arr

ну, и как я сказал, функция должна возвращать результат своей работы. поэтому в конце функции дописываем return $total, где в $total и содержится то, что должна вернуть ф-я )

надеюсь, понятно схему объяснил.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scva
scva
Topic Starter сообщение 12.10.2010, 23:48; Ответить: scva
Сообщение #5


Вроде понял.

И еще такой вопрос. Объясните вообщих чертах, в каких случаях стоит создавать функции. Просто в общих чертах
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MaxAst
MaxAst
сообщение 13.10.2010, 0:01; Ответить: MaxAst
Сообщение #6


Если определенный кусок кода планируется применяться многократно, намного проще вызвать функцию нежели дублировать заново код. Пример
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 13.10.2010, 7:38; Ответить: Arks
Сообщение #7


Если определенный кусок кода планируется применяться многократно

не слушайте, это баян. На самом деле гораздо чаще встречается другая ситуация:
во всех случаях когда кол-во кода больше 100 строчек чтобы не запутаться имеет смысл разделить структуру на классы и их методы исходя из логики работы скрипта.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Flok
Flok
сообщение 13.10.2010, 8:59; Ответить: Flok
Сообщение #8


Arks,это не баян, а одна из причин создания функций.

p.s.: а ещё, суровые псковские кодеры пишут сайты без ооп. ну это так, к слову ))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
7 uahomka 1567 17.3.2024, 14:54
автор: uahomka
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
10 Boymaster 1468 17.3.2024, 3:22
автор: malamut
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
26 metvekot 3655 15.3.2024, 10:42
автор: Skyworker
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
140 adw-kupon.ru 18368 12.3.2024, 23:28
автор: Lumex
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
79 metvekot 13007 12.3.2024, 23:00
автор: Lumex


 



RSS Текстовая версия Сейчас: 19.3.2024, 7:29
Дизайн