Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2014-01 КНЯЗЕВА_Эл_бизнес / Электронный бизнес_Князева.doc
Скачиваний:
50
Добавлен:
20.02.2016
Размер:
1.24 Mб
Скачать
    1. Типы данных

Практически все языки программирования можно разделить на языки со статической типизацией и динамической типизацией, РНР является языком с динамической типизацией. В РНР существуют различные типы данных. Тип переменной обычно программистом не устанавливается, он определяется интерпретатором РНР на этапе прогона, в зависимости от контекста, в котором эта переменная используется.

PHP поддерживает 8 примитивных типов:

  1. скалярные типы:

  • логические величины (boolean);

  • целые числа (integer);

  • число с плавающей точкой (float)

  • строки (string).

  • составные типы:

    • array;

    • object.

  • специальные типы:

    • resource;

    • NULL.

        1. Скалярные типы

    Логические величины это самый простой тип данных в РНР, который может принимать всего лишь одно из двух значений истина (TRUE) или ложь (FALSE). Логические (булевы) величины могут использоваться как значения переменных или как результат логических операций.

    Целое число является последовательностью из одной или нескольких цифр ötp дробной части. В РНР целые числа могут быть записаны в десятичной, шестнадцатеричной или восьмеричной системах счисления. Перед каждым целым числом может стоять знак «плюс» или «минус» (отрицательное или положительное). Например: 1; -344; +270979; 2807; 0x1A.

    Вещественные числа (числа c плавающей точкой) имеют дробную часть. В РНР поддерживаете стандартная и экспоненциальная запись. Дробная часть отделяется от целой части точкой (но не запятой). Например, 123.9, 1.116, 5.973.6e24.

    Строкой называется последовательность символов, которая принимается за одно целое, но при этом предоставляет доступ к каждому символу, входящему в эту последовательность. Например, «Word», «Слово», «45rote».

        1. Составные типы Массивы

    PHP поддерживает индексные и ассоциативные (хэш-масивы) массивы

    Объявление индексного массива можно осуществить несколькими способами:

    • с помощью конструкции Array():

    $имя_массива = Array(значение0, значение1,….,значениеN)

    • с указанием индекса:

    $имя_массива[индекс0] = значение0

    $имя_массива[индекс1] = значение1

    ……………………………………….

    $имя_массива[индексN] = значениеN

    • без указания индекса; такой массив генерирует собственный индекс по мере добавления элементов к нему:

    $имя_массива[] = значение0 и т.д.

    Доступ к элементам индексного массива возможен двумя способами:

    • доступ по индексу:

    <?php $sp=Array("скрипка", "кларнет", "баян"); //объявление

    echo $sp[0].” “.$sp[1].” “.$sp[2].” “.$sp[2];?> //доступ по индексу

    • доступ с помощью функции list():

    <?php …..

    list($a,$d,$c,$d)=$sp //доступ через функцию

    echo $a.” “.$b.” “.$c.” “.$d.” “; ?>

    Показать все элементы массива можно с помощью оператора цикла:

    <? while (list( , $g)=each($sp))

    {print ($g."<br>");} ?>

    В ассоциативных (хэш) массивах каждый элемент связывается с определенным уникальным ключом. Инициализируются хэш-массивы путём присваивания значений элементам массива или с помощью конструкции Array(). Например:

    1 вариант

    <?$cm["процессор"]="Pentium";

    $cm ["память"]=1026;

    $cm ["винчестер"]=70;

    echo $cm ["память"];?>

    2 вариант

    <?$cm =Array("процессор"=>"Athlon","память"=>1026,"винчестер"=>70);

    echo $cm ["память"];?>

    Показать все элементы массива может оператор:

    while (list ($a,$b)= each($cm))

    {echo "$a=$b\n";

    В многомерных массивах элементами могут являться другие массивы. Далее прведен пример скрипта, формирующего оглавление:

    <?php

    $part2=Array("Глава 3"=>50, "Глава 4"=>72);

    $content=Array("Введение"=>3,

    "Часть 1"=>Array("Глава 1"=>10, "Глава 2"=>30) ,

    "Часть 2"=>$part2);

    function cont_level($content) //объявление функции для вывода на экран

    {while (list($N_part,$page)= each($content)) //задаем переменные для //формирования списка из элементов массива, переменная $page может быть массивом или просто //номером страницы

    {echo "<br>".$N_part."…………….."; //вывод названия части оглавления

    if (is_array($page)) //функция is_array проверяет, является ли элемент массива другим массивом и возвращает значение true

    {cont_level($page);} //функция cont_level() рекурсивно вызывает сама себя, передавая параметром подмассив $page

    else

    echo $page;}} //иначе $page содержит только номер страницы

    cont_level($content); //вызов функции в программе ?>

    Результат работы данного скрипта представлен на рисунке 3.1.

    Рисунок 3.1 – Печать оглавления с помощью многомерного массива