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

  • Некоторые особенности работы с массивами

  • Сравнение массивов

  • TRUE

  • Объекты

  • Лабораторная работа 3. Разработка скриптов для генерации страниц


    Скачать 248.71 Kb.
    НазваниеЛабораторная работа 3. Разработка скриптов для генерации страниц
    Дата25.02.2019
    Размер248.71 Kb.
    Формат файлаdocx
    Имя файлаLab_03.docx
    ТипЛабораторная работа
    #68820
    страница6 из 7
    1   2   3   4   5   6   7

    Число элементов массива: ".count($arr)."h2>";!

    • Выводит: Число элементов массива: 5

    ?>

    Удаление массива и его элементов

    Если вы хотите удалить массив целиком, воспользуйтесь функцией unset(). Если вы хотите удалить пару ключ/значение, вы также можете использовать функцию unset(). Приведем конкретные примеры:



    $arr = array(5 => 1, 12 => 2);

    $arr[] = 56; // В этом месте скрипта это


    // эквивалентно $arr[13] = 56;


    $arr["x"] = 42; // Это добавляет к массиву новый

    • элемент с ключом "x"



    unset($arr[5]); // Это удаляет элемент из массива














    unset($arr);

    // Это удаляет массив полностью







    ?>













    Некоторые особенности работы с массивами

    Преобразование в массив (тип array)

    Для любого из типов: integer, float, string, boolean и resource, если вы преобразуете значение в массив, вы получите массив с одним элементом (с индексом 0), являющимся скалярным значением, с которого вы начали.

    Если вы преобразуете в массив объект (object), вы получите в качестве элементов массива свойства (переменные-члены) этого объекта. Ключами будут имена переменных-членов.

    Если вы преобразуете в массив значение NULL, вы получите пустой массив.

    Сравнение массивов

    Массивы можно сравнивать при помощи функции array_diff() и операторов массивов:

    Операторы,работающие с массивами:

    Пример

    Название

    Результат

    $a + $b

    Объединение.

    Объединение массива $a и массива $b.

    $a == $b

    Равенство.

    TRUE в случае, если $a и $b содержат одни и те же элементы.

    $a === $b

    Тождественно равенство.

    TRUE в случае, если $a и $b содержат одни и те же элементы в том же самом порядке.

    $a != $b

    Неравенство.

    TRUE если массив $a не равен массиву $b.

    $a <> $b

    Неравенство.

    TRUE если массив $a не равен массиву $b.

    $a !== $b

    Тождественно неравенство.

    TRUE если массив $a не равен тождественно массиву $b.

    Пример сравнения массивов:


    $a = array("apple", "banana");

    $b = array(1 => "banana", "0" => "apple");

    var_dump($a == $b); // bool(true) var_dump($a === $b); // bool(false) ?>

    Некоторые полезные практические примеры по работе с массивами'


    • это

    $a = array( 'color' => 'red', 'taste' => 'sweet',
 'shape' => 'round',
 'name' => 'apple',


    4 // ключом будет 0


    );


    • полностью соответствует $a['color'] = 'red'; $a['taste'] = 'sweet'; $a['shape'] = 'round';

    $a['name'] = ‘apple’;

    $a[] = 4; // ключом будет 0

    $b[] = 'a';

    $b[] = 'b';

    $b[] = 'c';

    • создаст массив array(0 => 'a' , 1 => 'b' , 2 => 'c')

    , или просто array('a', 'b', 'c')

    ?>

    Еще один практический пример:


    • Массив как карта (свойств)



    $map = array( 'version'

    => 4,



    'OS'

    =>

    'Linux',



    'lang'

    => 'english'

    ,





    'short_tags' => true


    );


    • исключительно числовые ключи $array = array( 7,
8,
0,
156,
-10
);


    // это то же самое, что и array(0 => 7, 1 => 8, ...)

    $switching = array( 10, // ключ = 0


    1. => 6,




    1. => 7, 
 'a' => 4,


    11, // ключ = 6 (максимальным числовым индексом был 5) '8' => 2, // ключ = 8 (число!)
 '02' => 77, // ключ = '02'






    1. => 12 // значение 10 будет перезаписано на 12




    );



    • пустой массив $empty = array(); ?>

    Коллекция:


    $colors = array('красный', 'синий', 'зеленый', 'желтый' );

    foreach ($colors as $color) {

    echo "Вам нравится $color?\n";
}

    ?>

    Результат работы рассмотренного скрипта:

    Вам нравится красный?

    Вам нравится синий?

    Вам нравится зеленый?

    Вам нравится желтый?

    Следующий пример создает начинающийся с единицы массив:


    $firstquarter = array(1 => 'Январь', 'Февраль', 'Март' );

    print_r($firstquarter);

    ?>

    Результат работы приведенного скрипта будет следующий:

    Array

    (

    1. => 'Январь'

    2. => 'Февраль'

    3. => 'Март'

    )

    Пример заполнения массива:


    • заполняет массив всеми элементами директории $handle = opendir('.');

    while (false !== ($file = readdir($handle))) { $files[] = $file;


    }

    closedir($handle); ?>

    Массивы упорядочены. Вы можете изменять порядок элементов, используя различные функции сортировки. Вы можете подсчитать количество элементов в массиве, используя функцию count().

    Рекурсивные и многомерные массивы:


    $fruits = array ( "фрукты" => array ( "a" => "апельсин" ,
"b" => "банан",
"c" => "яблоко"
),
"числа" => array ( 1,
2,3,
4,
5,
6
),
"дырки" => array ( "первая",
5 => "вторая",
"третья"
));


    echo $fruits["дырки"][5]; echo $fruits["фрукты"]["a"]; unset($fruits["дырки"][0]);

    • напечатает "вторая"


    • напечатает "апельсин"

    • удалит "первая"

    • Создаст новый многомерный массив

    $juices["яблоко"]["зеленое"] = "хорошее";

    ?>

    Обратите внимание, что при присваивании массива всегда происходит копирование значения. Чтобы копировать массив по ссылке, вам нужно использовать оператор ссылки:


    $arr1 = array(2, 3);

    $arr2 = $arr1;

    $arr2[] = 4; // $arr2 изменился,

    • $arr1 по прежнему array(2,3)



    $arr3 = &$arr1;

    $arr3[] = 4; // теперь $arr1 и $arr3 эквивалентны ?>

    Объекты (Object)

    Объект является одним из базовых понятий объектно-ориентированного программирования.

    Объект представляет собой переменную, экземпляр которой создается по специальному шаблону, называемому классом. Концепции объектов и классов являются неотъемлемой частью парадигмы объектно-ориентированного программирования (ООП).

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

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

    Для инициализации объекта используется выражение new, создающее в переменной экземпляр объекта.


    class foo

    {

    function do_foo()


    {


    echo "Doing foo."; 


    }


    }

    $bar = new foo;

    $bar->do_foo();

    ?>

    Внутри объекта данные и код (члены класса) могут быть либо открыты, либо нет. Открытые данные и члены класса являются доступными для других частей программы, которые не являются частью объекта. А вот закрытые данные и члены класса доступны только внутри этого объекта.

    Описание классов в PHP начинаются служебным словом class:

    class Имя_класса {


    }

    Для объявления объекта необходимо использовать оператор new:

    Объект = new Имя_класса;

    Данные описываются с помощью служебного слова var. Метод описывается так же, как и обыкновенная функция. Методу также можно передавать параметры.

    Пример класса на PHP:


    • Создаем новый класс Coor:

    class Coor {

    • данные (свойства):

    var $name; var $addr;

    • методы:

    function Name() {

    echo "

    1   2   3   4   5   6   7


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