голосование
PHP
jQuery
Firebird
BASH
HTML
Ресурсы
GIT
SEO
Oracle
Python
Хостинг
Программы
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Типы данных в 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); //это объект
просмотры: 2388, уровень: лёгкий уровень, рейтинг: 5, дата: 2015-07-12 13:36:00
проголосовать:

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






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