Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 15.01.2021
Сообщений: 1
1

Проблема с использованием анонимных функций

15.01.2021, 12:22. Просмотров 220. Ответов 1

Данная функция работает как и положена

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
function tbd($a, $b)
    {
        $arr = [];
        for($i = 0; $i < $a; $i++){
            $arr[] = $b($i);
        }
        return $arr;
    }
    $arr = tbd(10, function($a)
    {
        return $a *$a;
    });
    foreach($arr as $v) echo $v;
Однако эта конструкция выдает следующую ошибку :Object of class Closure could not be converted to number

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function SalePrice($sale, $discounts)
    {
        return $sale - ($sale * ($discounts/100));
    }
    
    $SalePrice = SalePrice(10000, function($day)
    {
        $discounts;
        if($day == 'понедельник'){
            $discounts = 10;
            return $discounts;
        };
        if($day == 'вторник'){
            $discounts = 5;
            return $discounts;
        }; 
    }); 
        echo $SalePrice(100, 'понедельник');
Добавлено через 12 минут
Нашел ошибку:
теперь echo выдает правильный ответ но ошибка Object of class Closure could not be converted to number все равно осталась

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function SalePrice($sale, $discounts)
    {
        return $sale - ($sale * ($discounts/100));
    }
    
$day = 'понедельник';
 
    $SalePrice = SalePrice(10000, function($day)
    {
        Global $day;
        $discounts;
        if($day == 'понедельник'){
            $discounts = 10;
            return $discounts;
        };
        if($day == 'вторник'){
            $discounts = 5;
            return $discounts;
        }; 
    }); 
        echo $SalePrice;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2021, 12:22
Ответы с готовыми решениями:

Понимание анонимных функций
Доброе время суток. Имеется делегат: delegate void StudentListHandler(object...

Клиент-сервер, передача анонимных функций
Всем привет! Разработкой на C# занимаюсь не давно и многое еще не знаю и мне нужен совет знающих...

Утечка памяти в IE при использовании анонимных вложенных функций
Internet Explorer 4-6 сильно пожирает память, если на странице используются анонимные вложенные...

Программа с использованием делегатов, анонимных методов и лямбда-выражений
помогите с кодом программы. условие программы: с использованием делегата следующего вида delegate...

1
Эксперт PHP
4443 / 3619 / 1520
Регистрация: 24.04.2014
Сообщений: 10,665
15.01.2021, 13:22 2
NewPlatform,
1) какой тип данных должен иметь второй параметр ($discounts) функции SalePrice?
2) данные какого типа ты передаешь в эту функцию вторым параметром?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2021, 13:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как переделать эти строчки, без использования анонимных функций?
var parentLI = $(&quot;#nav .parent&quot;); parentLI.hoverIntent(function() { showUL($(this)); },...

Сделать задачу с использованием функций. Ввод-вывод значений массивов осуществить с п0м0щью функций
Задача 1.Даны коэффициенты многочленов P(x) и Q(x) 5-й степени и дано вещественное a. Вычислить...

Программирование функций. Сделать решение задачи с использованием функций или процедур VBA excel
1. Заданы матрицы С(4,4) и D(3,3). Определить индексы макси- мального элемента каждой из матриц...

Табулирование функций с использованием и созданием пользовательских функций и процедур
Помогите, пожалуйста, срочно! Задание: Построить таблицу и вычислить произведение значений...

Реализовать обработку массива с использованием функций; реализовать перегрузку функций
Реализовать обработку массива с использованием функций. Далее реализовать перегрузку функций для...

С использованием функций
С использованием функций Массив А вводится с клавиатуры. Найти сумму его элементов с четными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.