Cast to Different Types
Часть раздела Основы путешествия по PHP на Coddy — урок 14 из 71.
Чтобы преобразовать входные данные в другой тип, нам нужно выполнить приведение типов. Чтобы привести строку к int (целому числу), мы напишем:
$var = trim(fgets(STDIN));
$var = (int)$var;Или в одну строку:
$var = (int)trim(fgets(STDIN));Если входные данные являются числом, т.е. 5, 4, 54, то $var будет содержать число. Если входные данные содержат недопустимое число: 5ab, bb, akt и т.д., то PHP преобразует то, что сможет (например, "5ab" становится 5, "bb" становится 0).
Вот таблица, показывающая, как приводить к различным типам:
| Cast | Пояснение |
| (int) | Преобразовать в целое число |
| (float) | Преобразовать в вещественное число |
| (bool) | Преобразовать в булево значение |
| (string) | Преобразовать в строку |
Важно использовать правильный тип, поскольку это может повлиять на вывод.
Сложение двух строк приведет к:
"5" + "5" = 10(PHP преобразует строки в числа для арифметических операций)
Конкатенация двух строк даст следующий результат:
"5" . "5" = “55”
Задание
Ваша задача:
- Прочитайте первое число из ввода и сохраните его в переменной
- Прочитайте второе число из ввода и сохраните его в другой переменной
- Преобразуйте вторую переменную в тип int
- Вычислите произведение этих двух чисел
- Выведите результат
Пример:
Если входные данные 2 и 4.5, ваша программа должна вывести 8, потому что 4.5 преобразуется в 4
Шпаргалка
Чтобы привести (преобразовать) значение к другому типу в PHP, используйте синтаксис приведения типов:
$var = (int)$value; // Приведение к целому числу (целое число)
$var = (float)$value; // Приведение к вещественному числу (число с плавающей запятой)
$var = (bool)$value; // Приведение к булеву типу
$var = (string)$value; // Приведение к строкеПриведение ввода из STDIN к целому числу:
$var = trim(fgets(STDIN));
$var = (int)$var;Или в одну строку:
$var = (int)trim(fgets(STDIN));При приведении строк к целым числам PHP преобразует то, что может. Недопустимые символы игнорируются:
"5ab"становится5"bb"становится0"4.5"становится4
Тип влияет на операции:
- Арифметика со строками:
"5" + "5" = 10(PHP автоматически преобразует к числам) - Конкатенация:
"5" . "5" = "55"
Попробуйте сами
<?php
// Чтение ввода
$firstNumber = ?;
$secondNumber = ?;
// Преобразовать $secondNumber в int
// Вычислить результат
$result = ?;
echo $result;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators