Почему происходит ошибка "syntax error, unexpected ':', expecting '" и не получается указать параметры функции"?

Рейтинг: 1Ответов: 1Опубликовано: 18.04.2023

Всем добрый день! Я только начинаю изучать программирование и столкнулся с такой проблемой:

Parse error: syntax error, unexpected ':', expecting ')'

Ссылается на строку с этим кодом:

sum(a:4, b:9, c: '+');

Сама функция:

<?php
function sum($a, $b, $s = '+'){
    if ($s == '*') {
        echo $a * $b;
    }
    elseif ($s == '+'){
        echo $a + $b;
    }
    elseif ($s == '-'){
        echo $a - $b;
    }
    elseif ($s == '/'){
        echo $a / $b;
    }
}

sum(a: 4, b: 5, s: '+');

Я не могу понять, где именно у меня ошибка. В учебнике, где я нашёл значение эту функции, а также в видео-уроке - всё работало, но у меня не работает.

Я подозреваю что у меня какая-то другая версия php. phpversion() отображает 7.4.30. Я использую Open Server - там версия php в настройках PHP_7.4. Также использую VS Code (Версия: 1.76.2 (user setup))

Урок, с которого я переписал эту функцию был снят 2 года назад, если это имеет значение.

Подскажите, пожалуйста, что я делаю не так или хотя бы куда мне копать дальше, чтобы исправить эту проблему?

Ответы

▲ 0Принят

Именованные аргументы в php появились в версии 8.0. Можете либо обновиться до более новой версии, либо перепишите код без именованных аргументов:

sum(4, 5, '+');