Эта тема очень важна. Без ясного понимания вы никогда не станете хорошим программистом. В php нет строгой типизации. Перечислю типы данных:
Я воспользовался мануалом из 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 или само значение. В случае успешной работы функция вернёт отработанный результат. Вы можете сгенерировать исключение и показать ошибку. Перехват ошибок и генерация исключений - это довольно сложная тема в ООП.
В самописных функциях вы можете проверить значение по типу данных. Вам помогут встроенные функции PHP.
Сделал для вас специальную всеядную функцию для проверка типа данных. Вы можете применить её в своих опытах.
// 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); //это объект