голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Типы данных в PHP

Эта тема очень важна. Без ясного понимания вы никогда не станете хорошим программистом. В php нет строгой типизации. Перечислю типы данных:

  1. булев
  2. целые числа
  3. числа с плавающей точкой
  4. строки
  5. массивы
  6. объекты
  7. ресурс
  8. null
  9. callbac/callables

Я воспользовался мануалом из php.net. Булевый тип данных - это простейший тип. Boolean выражает истинность значения. Он может быть либо TRUE, либо FALSE. Целые числа могут быть указаны в десятичной (основание 10), шестнадцатеричной (основание 16), восьмеричной (основание 8) или двоичной (основание 2) системе счисления, с необязательным предшествующим знаком (- или +). Числа с плавающей точкой (также известные как "float", "double", или "real") могут быть определены следующими синтаксисами: $a = 1.234, $b = 1.2e3, $c = 7E-10. Одним словом после точки есть числа. Хорошо подходит для отображения цен на товары. Строка - это набор символов, где символ - это то же самое, что и байт. Помните что пробел ' ' - это тоже символ. Массив в PHP - это упорядоченное отображение, которое устанавливает соответствие между значением и ключом. Этот тип оптимизирован в нескольких направлениях, поэтому вы можете использовать его как собственно массив, список (вектор), хэш-таблицу (являющуюся реализацией карты), словарь, коллекцию, стек, очередь и, возможно, что-то еще. Так как значением массива может быть другой массив PHP, можно также создавать деревья и многомерные массивы. Объект - это по моему мнению инициализация класса. Вы не сможете обратиться к классу без объекта. Исключением может быть класс с его статическими свойствами и методами. В этом случае можно обратиться к свойству класса без объекта. Например Base::$url (свойство), Base::getUrl() (метод). Для создания нового объекта, используйте выражение new, создающее в переменной экземпляр класса. Например $obj = new Auth_Class(). Обратите внимание на () - это вызов конструктора. Но не будем забегать вперёд. Специальное значение NULL представляет собой переменную без значения. NULL - это единственно возможное значение типа null. Очень часто при выборке из базы возвращается это значение если таблица пуста. Это пустота и в случае возврата такого значения вы должны быть готовы запустить особый сценарий.

Мы будем использовать с вами часто: булевый тип, целые числа, строки, массивы, объекты, null. Функции в PHP могут принимать разные типы данных на входе. Вы должны быть готовы к тому что функция может выдать ошибку. Вы должны будите делать проверку входных параметров. Хорошие PHP-программисты в случае ошибки внутри функции возвращают false или само значение. В случае успешной работы функция вернёт отработанный результат. Вы можете сгенерировать исключение и показать ошибку. Перехват ошибок и генерация исключений - это довольно сложная тема в ООП.

  1. Есть функции, которые меняют тип данных:
  2. (int) - переводит значение в чиcло
  3. (string) - переводит значение в строку
  4. (bool) - переводит значение в булевый тип
  5. (array) - переводит значение в массив
  6. (object) - переводит в объект

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

  1. is_int - проверка на число
  2. is_float - проверка на флоат (число с плавающей точкой)
  3. is_string - проверка на строку
  4. is_bool - проверка на булев тип
  5. is_array - проверка на массив
  6. is_object - проверка на объект

Сделал для вас специальную всеядную функцию для проверка типа данных. Вы можете применить её в своих опытах.


// getDataType() - функция для определения типа данных
function getDataType($param)
{
    if(is_int($param) == TRUE)
    {
        echo "это число";
    }
    elseif(is_float($param) == TRUE)
    {
        echo "это флоат";
    }
    elseif(is_string($param) == TRUE)
    {
        echo "это строка";
    }
    elseif(is_bool($param) == TRUE)
    {
        echo "это булев тип";
    }
    elseif(is_array($param) == TRUE)
    {
        echo "это массив";
    }
    elseif(is_object($param) == TRUE)
    {
        echo "это объект";
    }
    else echo "неопределённый тип";
}
// присваиваю значение
$param1 = 1; // число
$param2 = 1.01; // число
$param3 = 'текст'; // строка
$param4 = TRUE; // булев
$param5 = array(1,2,3); // массив
$param6 = (object)array(1, 2, 3); //объект из массива
// вывод
getDataType($param1); //это число
getDataType($param2); //это флоат
getDataType($param3); //это строка
getDataType($param4); //это булев тип
getDataType($param5); //это массив
getDataType($param6); //это объект
просмотры: 3633, уровень: лёгкий уровень, рейтинг: 5, дата: 2015-07-12 13:36:00
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.