Главная страница
Навигация по странице:

  • Встроенные php функции Функция

  • Что необходимо знать про любые функции

  • PHP пользовательские функции Пользовательские функции

  • Пример

  • Задание php 5_1

  • ПЕРЕДАЧА АРГУМЕНТОВ ПО ССЫЛКЕ

  • Лабораторная работа 1: Задание 1

  • Задание 3  Отрисуйте таблицу умножения вызывая функцию getTable() с различными параметрами АРГУМЕНТЫ ПО УМОЛЧАНИЮ

  • Задание php 5_2

  • Возвращение значений функцией, Return

  • Лабораторная работа 2: Задание 1

  • работа. Занятие Функции языка На уроке будут рассмотрены функции языка php встроенные функции и php пользовательские функции Содержание Встроенные php функции


    Скачать 186.36 Kb.
    НазваниеЗанятие Функции языка На уроке будут рассмотрены функции языка php встроенные функции и php пользовательские функции Содержание Встроенные php функции
    Анкорработа
    Дата09.03.2022
    Размер186.36 Kb.
    Формат файлаdocx
    Имя файлаLW 5.docx
    ТипЗанятие
    #387278

    PHP занятие 5. Функции языка
    На уроке будут рассмотрены функции языка php: встроенные функции и php пользовательские функции
    Содержание:

    • Встроенные php функции

    • PHP пользовательские функции

    • Возвращение значений функцией, Return


    Встроенные php функции

    Функция — фрагмент кода программы, который можно выполнять многократно в любом месте данной программы.

    Все функции языка PHP подразделяются на:

    • встроенные

    • пользовательские

    Встроенные функции — это предусмотренные синтаксисом языка конструкции, выполняющие конкретные действия. Примером могут служить рассмотренные ранее функции echo() и print().

    Кроме того, есть функции для работы с изображениями, функции обработки строк, для работы с датами и временем, а также для работы с базами данных. Некоторые из них будут рассмотрены в последующих уроках.

    Что необходимо знать про любые функции:

    • после названия функции всегда ставятся круглые скобки (могут быть пустые или с аргументами функции внутри, перечисленными через запятые);

    • функция может принимать информацию из программы через список аргументов, разделенных запятыми (аргументы читаются слева направо);

    • если в функцию передаются аргументы не того типа, на который она «рассчитывает» (например string вместо array), то будет выдаваться либо NULL либо ошибка;

    • для вызова функции достаточно написать ее имя и список фактических аргументов в круглых скобках.




    Рис. 5.1. Пример использования встроенных функций php
    PHP пользовательские функции

    Пользовательские функции — те, которые не предусмотрены синтаксисом языка, а созданы пользователем в целях решения поставленной задачи.

    Пример: создать функцию без аргументов, которая выводит на экран приветствие

    Решение:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12


    // описание функции

    function sayHello(){

    echo "Привет!
    ";

    }

     

    // вызов функции

    sayHello();

     

    // проверка существования функции

    if (function_exists("sayHello")) {

    echo "есть";

    }


    Результат:

    Привет!

    есть

    • Внутри функции может быть любая последовательность операторов и даже описание другой функции.

    • Все функции имеют глобальную область видимости, это значит, что они могут быть вызваны в любом месте программы, даже если были определены внутри функции и наоборот.

    Рассмотрим пример:
    Пример: создать первую функцию, внутри которой описать вторую функцию

    Выполнение:

    1

    2

    3

    4

    5

    6

    7

    8


    function function1() {

    echo "
    Первая функция
    ";

    function function2() {

    echo "
    Вторая функция
    ";

    }

    }

    function1();

    function2();

    Результат:

    Первая функция

    Вторая функция

    Пример иллюстрирует, что средства php не позволяют создавать локальных функций, т.е. которые будут «видны» только в определенных местах кода программы. В нашем случае function2() должна быть локальной, т.е. область ее видимости — только функция function1(). Вызывая локальную функцию из общей программы, должна выдаваться ошибка. Но в php данный механизм отсутствует, и ошибки нет. Таким образом обе функции в примере глобальные.

    СОЗДАНИЕ ФУНКЦИИ PHP С АРГУМЕНТАМИ

    Рассмотрим синтаксис функции с аргументами на примере

    Пример: создать функцию, которая выводит на экран приветствие с именем, передаваемым в качестве аргумента (например, Привет, Вася!)

    Решение:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15


    // описаниефункции

    function sayHello($name){

    echo "Привет, $name!
    ";

    }

     

    // вызов функции вариант 1

    sayHello("Вася");

     

    // вызов функции вариант 2

    $name="Вася";

    sayHello($name);

     

    // вызов функции вариант 3

    $myFunc="sayHello"; // здесь круглые скобки не нужны!

    $myFunc("Вася");

    Все три способа вызова функции равнозначны.
    Задание php 5_1: Написать функцию с двумя аргументами, возвращающую результат возведения числа в степень.

    Примечание: степень в php вычисляется при помощи функции pow()
    pow ($a, $b); где $a — число, $b — степень
    ПЕРЕДАЧА АРГУМЕНТОВ ПО ССЫЛКЕ

    Традиционно аргументы в функцию передаются по значению, т.е. если значение аргумента изменить внутри самой функции, то в общей программе с этим аргументом ничего не произойдет, он останется прежним (внутри функции аргумент локален, т.е. «не виден» на уровне общей программы).



    Рис. 5.2. Локальные и глобальные переменные в php


    Но если необходимо сделать так, чтобы функция имела возможность изменять значения аргумента и на уровне программы (глобально), то необходимо передавать аргумент по ссылке. Это делается при помощи символа амперсанд &



    Рис. 5.3. Передача аргумента по ссылке
    Пример: передавать в функцию строковый аргумент по ссылке (&str='Просто строка'). Изменить в функции значение аргумента (прибавить к ней значение ‘и кое-что еще.’)

    Решение:

    1

    2

    3

    4

    5

    6

    7


    function add_str(&$str2)

    {

    $str2 .= 'и кое-что еще.';

    }

    $str1 = 'Просто строка, ';

    add_str($str1);

    echo $str1; // выведет 'Просто строка, и кое-что еще.'


    Лабораторная работа 1:
    Задание 1

    1. Опишите функцию getTable()

    2. Задайте для функции три аргумента: colsrowscolor

    Задание 2

    1. Скопируйте код, отрисовывающий таблицу умножения из лабораторной работы предыдущего урока

    2. Вставьте скопированный код в тело функции getTable()

    3. Измените код таким образом, чтобы таблица отрисовывалась в зависимости от входящих параметров colsrows и color

    Задание 3

     Отрисуйте таблицу умножения вызывая функцию getTable() с различными параметрами
    АРГУМЕНТЫ ПО УМОЛЧАНИЮ

    В php в пользовательских функциях можно задавать значения по умолчанию для аргументов. Т.е. если в программе не передать значение аргумента, то аргумент примет то значение, которое установлено по умолчанию.


    Рис. 5.4. Значение по умолчанию
    Пример: создать функцию с аргументом для вывода приветствия. Установить значение по умолчанию для аргумента равное «Гость»

    Решение:

    1

    2

    3

    4

    5

    6

    7


    function sayHello($p,$name = "Гость"){

    echo "$p, $name!
    ";

    }

     

    sayHello("Привет","Вася"); // Привет, Вася!

    sayHello("Здравствуйте"); // Здравствуйте, Гость!

    sayHello("Привет",null); // Привет, !


    Важно: аргументы, для которых определены значения по умолчанию, должны находиться правее аргументов, для которых значения по умолчанию не установлены
    Задание php 5_2: откройте выполненную лабораторную работу этого урока. Продолжите выполнение задания:
    Задание 4

    1. Откройте предыдущее задание с отрисовкой таблицы в функции. Измените входящие параметры функции gettable() на параметры по умолчанию

    Задание 5

     Отрисуйте таблицу умножения вызывая функцию getTable() без параметров

     Отрисуйте таблицу умножения вызывая функцию getTable() с одним параметром

     Отрисуйте таблицу умножения вызывая функцию getTable() с двумя параметрами
    Возвращение значений функцией, Return

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

    Внутри такой функции используется оператор возврата return (с англ. «вернуть»), после которого указывается возвращаемое значение (или переменная, массив, выражение и т.п.)

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

    Пример: описать функцию с двумя аргументами, возвращающую сумму данных аргументов

    Решение:

    1

    2

    3

    4

    5

    6

    7

    8


    function sum($a, $b) {

    return $a + $b;

    }

    // 1 вариант вызова

    echo sum(1, 2) ;

    // 2 вариант вызова

    $x=sum(1, 2);

    echo $x;


    Задание php 5_3: описать функцию с одним аргументом, возвращающую степень двойки. Степень передавать в качестве аргумента. Установить значение по умолчанию (=2) для аргумента

    Лабораторная работа 2:

    Задание 1

    1. Опишите функцию getMenu()

    2. Задайте для функции первый аргумент menu, в него будет передаваться массив, содержащий структуру меню

    3. Задайте для функции второй аргумент vertical со значением по умолчанию равным TRUE (логический тип данных — true-истина, false-ложь).

    Данный параметр указывает, каким образом будет отрисовано меню — вертикально или горизонтально

    Задание 2

    1. Откройте файл c лабораторной работой с отрисовкой меню

    2. Скопируйте код, который создает массив menu и вставьте скопированный код в данный документ

    3. Скопируйте код, который отрисовывает меню

    4. Вставьте скопированный код в тело функции getMenu()

    5. Измените код таким образом, чтобы меню отрисовывалась в зависимости от входящих параметров menu и vertical

    Задание 3

    1. Отрисуйте вертикальное меню вызывая функцию getMenu() с одним параметром

    2. Отрисуйте горизонтальное меню вызывая функцию getMenu() со вторым параметром равным FALSE

    3. Сохраните код в отдельном файле


    написать администратору сайта