Почему не получается проводить операции с разными типами данных?
Урок 50. При попытке провести операцию с разными типами данных (точь в точь как в видео), у меня выдает ошибку:
Fatal error: Uncaught TypeError: Unsupported operand types: int + string in C:\xampp\htdocs\kinomonster\index.php:5 Stack trace: #0 C:\xampp\htdocs\kinomonster\index.php(8): sum(2, 'string') #1 {main} thrown in C:\xampp\htdocs\kinomonster\index.php on line 5
У автора курса в этом случае echo выводит 2
Также, смотрел другие видео с подобными операциями, там объяснялось, что интерпретатор php выведет результат, возможно выдаст предупреждение, но результат какой-от будет. У меня просто ошибка.
<?php
function sum($a, $b) {
return $a + $b;
}
echo sum(2, "string");
Есть инфа?
3 ответов
Он и должен показать ошибку. Дальше в курсе будет, что проверку нужно ставить на тип переменной, которая приходит
урок 50, в видео на 2:45 у автора точно такой же код выводит 2
Строгая типизация появилась в 8й версии PHP, теперь нельзя делать сложение Integer + String и это хорошо на самом деле :) Поэтому нужно ставить проверки на типы переменных как я писал выше, функция is_numeric.
В этом же уроке на 5:12:
https://fructcode.com/ru/courses/php-and-mysql/video-php-functions/
урок 50, в видео на 2:45 у автора точно такой же код выводит 2
<?php
function sum($a, $b) {
return $a + $b;
}
echo sum(2, "string");