Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

PHP Выпуск 4. Функции. Приметивный калькулятор.


Информационный Канал Subscribe.Ru


Как сделать сайт
 
 

Как создать сайт. Рассылка для чайников

 

Как сделать сайт

Как раскрутить

Где разместить

Как заработать

Способ гиперраскрутки

Редактор  рассылки  Aleksander Jaros

Сайт поддержки

 

Подраздел PHP

Выпуск 4

Ведущий раздела: P@shOK

В этом номере:

 

Функции.
Применение теории - примитивный калькулятор.

 
 

Здравствуйте, уважаемые. Прошу прощения за задержку этого выпуска.
В сегодняшнем выпуске я расскажу Вам что такое функции в php и для чего они нужны.

      В PHP существует два типа функций:
    зарезервированные функции (по-простому - стандартные) - эти функции без особого труда можно найти в любом справочнике.
    функции, определяемые пользователем - а это функции, которые создает сам разработчик.
С первым типом, думаю, все понятно.
Больше возможностей, а значит и проблем, предоставляют функции, определяемые пользователем. Особенность этих функций состоит в том, что их необходимо определять, в отличие от зарезервированных функций.

  • Синтаксис определения функций: function имя_функции(аргумент1, аргумент2 и так далее) { некоторый операции, выполняемые при вызове функции ; }
  • Сразу же простенький пример, для лучшего понимания сути дела: function sum($a, $b) //определяем функцию со скромным названием sum, в которой будут задействованы $a и $b { $c = $a + $b; echo "$a + $b = $c
    "; return $c; //функция после своего выполнения возвращает значение аргумента } //Далее следует вставка функции в php код, с нужными $a и $b $a = sum(3, 4);
    //переменной $a присваиваем значение, возвращенное функцией sum (т.е. значение $c) echo $a; /* В итоге получим: 3 + 4 = 7 7*/

      Теперь можно ответить на вопрос “Зачем же нужны функции?”.
В определении функции мы описываем как бы мини-скрипт, а потом вставляем этот мини-скрипт в большой скрипт. Конечно же для вышеприведенного примера нет ни какого смысла использовать функции, но если вам нужно будет использовать определенную функцию(намного больше этой) несколько раз в разных местах скрипта. В этом случае тоже можно обойтись без функций, но с функциями еще удобно оперировать. Функции экономят место, время и силы скриптодела :)

      Вернемся к нашему примеру.
Все переменные внутри функции являются локальными, действующими только в теле функции. Поэтому в примере выше не было ошибкой строчка $a = sum(3, 4), где в функции sum уже есть своя переменная $a. Эти переменные никоем образом не пересекаются и имеют совершенно разное значение.
Для того, чтобы переменная, определенная внутри функции, действовала вне ее пределов, необходимо указать, что она является глобальной. Это делается следующим образом:

  • Использование глобальной переменной
    function word ($word)     
    //функция word() и переменная $word - совершенно разные вещи
    {
        global $string;           //определение $string как глобальной
        $string = $word." - отличная вещь!";
    }
    word ("PHP");
    echo $string;            //выведет "PHP - отличная вещь!"
    
    

Как видите, мы не применяли return, так что функция ничего не возвращает, но мы определили переменную $string как глобальную, поэтому она действует в пределах всего кода php, так что в данном случае $string в функции равна $string вне функции.

Еще одна проблема, которая может возникнуть при использовании определяемых функций, - то, что функция после своего выполнения теряет все свои значения и при ее новом вызове нельзя использовать данные, полученные при предыдущем выполнении функции. Но эта проблема решаема, используя определение переменное как статичной.

  • Использование статичной переменной
    function mult ($a)
    {
       static $result=1;      //определение $result как статичной
       $result *= $a;
       echo $result.'<br>';
    }
    for ($i=2; $i<=4; $i++)
    { mult($i) ;}
    /* В итоге получим:
    2
    6
    24*/
    
На этом я закончу теоретическую часть нашего занятия. Если вас интересуют зарезервированные функции, то их можно найти в любом справочнике. Конкретно им посвящать целый выпуск я не буду, а буду показывать некоторые лишь по ходу решения каких-то задач.

       Ну а теперь практическое применение изученной теории.

Сегодня я хочу предоставить Вашему вниманию очень примитивный калькулятор:

    <?
    function show()       //эта функция будет выводить форму
    {
      global $action;
     ?>
    <!-- /* задаем форму, из которой получим первое число, 
    второе число и что нужно делать с этими числами.*/ -->
      <FORM method=Get action="calc.php" target="_blank">
    <!-- /* target="_blank" - результат обработки формы будет выводится в новом окне */ -->
      Первое число
      <input type="text" name="first">
      Второе число
      <input type="text" name="second">
      <select size="1" name="action">
        <option value="sum">Сложить</option>
        <option value="min">Вычесть</option>
        <option value="mult">Умножить</option>
        <option value="dev">Разделить</option>
      </select>
      <br><input type="submit" value="Выполнить">
      </form>
      <?php 
    }       //конец функции show()
    
    function calc()       //эта функция будет выполнять нужное действие
    {
    global $action, $result, $first, $second;
    switch($action)
     {
       case "sum": $result = $first+$second; break;
       case "min": $result = $first-$second; break;
       case "mult": $result = $first*$second; break;
       case "dev": 
       if (!$second)             //если второе число равно "0" или вообще не введено
       {
         exit("Извините, программа не может выполнить действие");
       }
       $result=$first/$second; break;   
     } //заканчиваем оператор switch
    ?>
    
     Результат Вашего действия равен <b>
     <? echo $result;            //вывод результата (жирным шрифтом)
     ?> </b>
    
     <?
    }       //конец функций calc()
    
    if ($action) calc(); else show(); 
    ?>
    

      Не очень полезная вещь, на мой взгляд, но в хозяйстве может пригодиться.

 Жду ваши предложения, пожелания, замечания на pashok@city-e.ru.

 

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

Рассылки Subscribe.Ru
Как создать сайт. Рассылка для чайников.

Все предыдущие выпуски рассылки находятся в Архиве.

Архив рассылки.

 


Lbn Best


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное