Прежде чем приступить к рассмотрению переменных, констант и выражений в РНР, разберемся с типами данных, которые используются в языке. РНР относится к языкам с так называемыми свободными типами данных. Это означает, что допустимо применение операций к данным различных типов, а также присвоение некоторой переменной данных то одного, то другого типа. Этой возможностью следует пользоваться осторожно во избежание недоразумений.
Типы данных PHP — некоторое ограничение на множество возможных значений. Если мы каким-либо образом выделяем(ограничиваем) некоторое множество значений, то тем самым определяем тип данных.
Типы данных в РНР
Типы данных | Примеры | Описание значений | |
---|---|---|---|
Строковый или символьный (String) |
"Привет всем!" |
Последовательность символов, заключенных в кавычки двойные или одинарные |
|
Числовой | Цельночисленный (integer) |
-456 34 0 |
Число, последовательность цифр, перед которой может быть указан знак числа(+ или -); перед положительными числами не обязательно ставить знак +. Число записывается без кавычек. |
С плавающей точкой(float) | 2.54 12.5E2 35E-3 |
Число с дробной частью. Целая и дробные части чисел разделяются точкой. |
|
Логический (булевый, Boolean) |
true false |
Этот тип имеет два значения: true(истина, да) или false(ложь, нет) |
|
Null | null |
Этот тип данных имеет одно значение—null, указывающее на отсутствие какого бы то ни было значения. |
|
Массив (Array) |
Этот тип данных имеет одно множество значений, которые могут быть различных типов |
||
Объект (Odject) |
Програмный объект, определяемый своими свойствами |
||
Ресурс(Resourse) |
Например открытый файл, графические данные и др. |
В выражениях с операторами могут использоваться данные различных типов. Например, в арифметическом выражении могут оказаться данные не только числового, но строкового или логического типа. В таких случаях интерпретатор РНР автоматически приводит данные к нужному типу. Например, в выражении с арифметическим оператором сложения + операнды могут быть как строковыми, так и числовыми:
<?php
echo "5+4". "<br>"; //результат 5+4
echo "5"+"4"."<br>"; //результат 9
echo "5"+4 ."<br>"; //результат 9
echo "5 рублей"+4 ."<br>"; //результат 9
echo "Доход 5"+4 ."<br>"; //результат 4
echo "Привет"+4 . "<br>"; //результат 4
echo "Привет"+"всем!"; //результат 0
?>
В окне веб-браузера это будет выглядеть ТАК.
Если строка не содержит в качестве своих первых символов цифры(точнее число, перед которым может быть указан знак), то в арифметическом выражениях она преобразуется в число 0.
Примечание. В JavaScript оператор +
применительно к числам является оператором сложения, а применительно к строкам — оператором конкатенации(склейки). В выражениях с этим оператором и с данными строкового и числового типа последние в JavaScript приводят к строковому типу. Так выражение "5"+4 даст в результате "54", а не 9, как в РНР.
Данные различных типов могут участвовать в логических операциях и операциях сравнения, которые возвращают логическое значение true
или false
. В таких случаях интерпретатор РНР автоматически приводит данные нелогического типа к логическому. При этом следующие значения преобразуются в false
:
- строка "
false
", независимо от регистра; - пустая строка
""
и строка"0"
; - число 0, целое или с плавающей точкой;
Null
;- пустой массив (количество элементов равно 0);
- пустой объект (количество элементов равно 0);
Другие значения преобразуются в true
.
Значения логического типа могут участвовать в арифметических операциях. В таких случаях значение false
пробразуется в 0, а true
— в 1. Например true+true
— возвращает 2, а true+false
— 1.
<?php
echo true+true ."<br>";
echo true+false
?>
В окне веб-браузера это будет выглядеть ТАК.
Иногда требуются данные некоторого типа привести к определенному типу, чтобы гарантированно обеспечить корректность последующих операций над ними, не полагаясь на возможности автоматического преобразования типов. Для приведения данных к заданному типу служат специальные операторы — имятипа в круглых скобках, записываемое перед данными, которые необходимо преобразовать:
int
илиinteger
— приведение к целочисленному типу;float, double
илиreal
— приведенные к числовому типу с плавающей точкой;string
— приведенные к строковому типу;bool
илиboolean
— приведенные к логическому (булевому) типу;array
— приведенные к типу "массив";оdject
— приведенные к типу "объект".
<?php
echo (int) 12.51 . "<br>"; //результат 12
echo (float) "12.51 руб." . "<br>"; //результат 12.51
echo (bool) "12.51 руб." . "<br>"; //результат 1(true )
echo true //результат 1
?>
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться