Почему не получается проводить операции с разными типами данных?

0

Урок 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");

Есть инфа?

php

3 ответов

0

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

1
урок 50, в видео на 2:45 у автора точно такой же код выводит 2

Строгая типизация появилась в 8й версии PHP, теперь нельзя делать сложение Integer + String и это хорошо на самом деле :) Поэтому нужно ставить проверки на типы переменных как я писал выше, функция is_numeric.

В этом же уроке на 5:12:

https://fructcode.com/ru/courses/php-and-mysql/video-php-functions/

0

урок 50, в видео на 2:45 у автора точно такой же код выводит 2

<?php


    function sum($a, $b) {
        return $a + $b;
    }

    echo sum(2, "string");
Sign up or Log in to write an answer