Пятница, 22.11.2024, 21:59
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
C# [27]
Статьи по языку C#
C / C++ [6]
Статьи по языку C/C++
PHP [7]
Статьи по языку PHP
Инструментарий [2]
Статьи по инструментам разработки, редакторам и т.п.
Unity [5]
Статьи по редактору Unity
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск
Главная » Статьи » PHP

Выражения

Начиная с этой статьи будим более подробно разбираться с основами...

Начнем с базовой части языка PHP - выражения. Выражения представляет собой сочетание значений, переменных, операторов и функций, в результате вычисления которого выдается новое значение. Выражение знакомо всем из курса школьной алгебры:

у = 3а + 4b - c

На языке PHP это будет выглядеть так:

$у = 3 * $а + 4 * $b - $c

Возвращаемое значение может быть целое число, число с плавающей запятой, строкой или булевым значением. В нашем случаи это $y. С числовыми и строковыми значениями мы уже встречались, поэтому поговорим о булевых значениях.

В PHP  булевыми значениями могут быть TRUE (истина) и FALSE (ложь). Выражение 20 > 9 является истинным (TRUE), а выражение 5 == 6 является ложным (FALSE). Далее приведем пример показывающий работу булевых операций в действии:

<?php
   
echo "a: [" . (20 > 9) . "]<br>";
    echo "b: [" . (5 == 6) . "]<br>";
    echo "c: [" . (1 == 0) . "]<br>";
    echo "d: [" . (1 == 1) . "]<br>";
?>

Результат работы кода будет:

a: [1]
b: []
c: []
d: [1]

Почему же получились такие странные результаты? Все дело в том, что в языке PHP константе TRUE имеет значение 1, а константа FALSE - NULL (ничего). Таким образом, где результат выражений равен TRUE мы получаем 1, а где FALSE нет ничего. Данную особенность языка нужно учитывать при проверке выражений.

К примеру, в С++ значение true любое число больше нуля, а false равно 0 (нуль).

Литералы и переменные

Литерал - это простейшая форма выражения, означающее нечто, вычисляющееся само в себе, например число 77 или строка "World". Переменная так же является выражение, если ей присваивается не вычисляемое значение. Обе формы относятся к типам выражений, поскольку они возвращают значение.

Приведем несколько примеров:

<?php
    $myname = "Brian";
    $myage =
37;
   
echo "a: " . 73 . "<br>";           // Числовой литерал
    echo "b: " . "Hello" . "<br>";     // Строковый литерал
    echo "c: " . FALSE . "<br>";     // Литерал константы
    echo "d: " . $myname . "<br>"// Строковая переменная
    echo "e: " . $myage . "<br>";    // Числовая переменная
?>

Результат работы кода (возвращаемые значения) будет таким:

a: 73
b: Hello
c:
d: Brian
e: 37

Объединив простейшие выражения с операторами, можно создать более сложные выражения, результатом вычисления которых будут какие-нибудь полезные результаты.

При объединении присваивания или управляющей конструкции с выражениями получается инструкция.

<?php
    $days_to_new_year = 366 - $day_number; // Выражение
    if ($days_to_new_year < 30)
    {
       
echo "Скоро новый год!";                        // Инструкция
    }
?>

В первой строке мы присваиваем результат выражения 366 - $day_number переменной $days_to_new_year. Далее идет инструкция вывода сообщения, если выражение $days_to_new_year < 30 будет равно TRUE.

Более краткой формой инструкции будет:

if ($days_to_new_year < 30) echo "Скоро новый год!";  // Инструкция

Неявные и явные преобразование типов

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

<?php
    $a = 56;
    $b =
12;
    $c = $a / $b;

?>

В приведенном примере, переменные $a и $b неявно приводятся к целому числу (int). А переменная $c уже приводится к числу с плавающей запятой (float).

Что делать, если результат так же нужно получить целое число? Этого можно добиться разными способами, один из которых принудительное преобразование результата к целому числу используя оператор преобразования (int).

$c = (int) ($a / $b);

Такой способ называется явным преобразованием типов. Для преобразования результата необходимо все выражение брать в скобке, в противном случаи преобразуется только первая переменная.

Ниже приведена таблица явных преобразований к нужным типам.

Типы преобразования Описание
(int) (integer) Преобразование в целое число путем отбрасывания десятичной части
(bool) (boolean) Преобразование в логическое значение
(float) (double) (real) Преобразование в число с плавающей точкой
(string) Преобразование в строку
(array) Преобразование в массив
(object) Преобразование в объект

По мима явного преобразования к нужному типу можно использовать функции приведения к типам, например функция intval приводит к целому числу.

Категория: PHP | Добавил: solowey (23.12.2015)
Просмотров: 569 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт