Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
5 / 5 / 3
Регистрация: 01.03.2013
Сообщений: 201

Передача в функцию функции с неизвестной переменной

28.02.2016, 18:19. Показов 1407. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли на php реализовать передачу функции $y с переменными, которые объявляются внутри функции?)
Что-то типа такого:
PHP
1
2
3
4
5
6
7
8
9
10
11
$t = array(2, 5, 7);
$p = 15 / 1 * $x[$i] - 10;
 
 
function graph($y, $x){
  for ($i=0; $i < 3; $i++) {
    $arr[$i] = array($x[$i], $y);
  }
}
 
graph($p, $t);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2016, 18:19
Ответы с готовыми решениями:

Передача переменной из функции в функцию
#include &lt;iostream&gt; #include &lt;fstream&gt; // работа с файлами #include &lt;iomanip&gt; // манипуляторы ввода/вывода #include &lt;string&gt; ...

Передача в функцию двумерного массива с неизвестной размерностью
Доброго времени суток, форумчане. Сейчас работаю с графами, точнее с их матрицами. Захотел написать перевод из смежной в инцидентную. Но...

Передача функции переменной и вызов переменной
Вот как реализовал, правда не работает)) Подскажите где что не так? При нажатии на button1 выполняется функция function get1() которая...

8
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
28.02.2016, 18:27
Цитата Сообщение от Виетор Посмотреть сообщение
Можно ли на php реализовать передачу функции $y с переменными, которые объявляются внутри функции?)
Теперь бы по-русски.
1
5 / 5 / 3
Регистрация: 01.03.2013
Сообщений: 201
28.02.2016, 18:30  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Теперь бы по-русски.
Если бы мог написать по-русски, написал бы по-русски.)
См. на код, там вроде понятнее.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
28.02.2016, 18:31
Цитата Сообщение от Виетор Посмотреть сообщение
Если бы мог написать по-русски, написал бы по-русски.)
См. на код, там вроде понятнее.
Нет там вообще ничего не понятно. Переменная $x и $i нигде не объявлены на второй строке. И не понятно что вообще нужно от этого кода.
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
28.02.2016, 18:33
Лучший ответ Сообщение было отмечено Виетор как решение

Решение

Виетор, вам лямбды нужны? Этот код, что будет приведен ниже, в грубом приближении можно назвать кодом, но посмотрите, такое нужно?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $x = array(2, 5, 7);
    $y = function($array, $i) { return 15 / ($array[$i] * 10);};
    
    function graph($y, $x)
    {
        $arr = array();
        for ($i = 0; $i < 3; ++$i)
        {
            $arr[] = array($x[$i], $y($x, $i));
        }
        return $arr;
    }
    
    $a = graph($y, $x);
    print_r($a);
?>
А это вывод
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 0.75
        )
 
    [1] => Array
        (
            [0] => 5
            [1] => 0.3
        )
 
    [2] => Array
        (
            [0] => 7
            [1] => 0.21428571428571
        )
 
)
2
5 / 5 / 3
Регистрация: 01.03.2013
Сообщений: 201
28.02.2016, 18:34  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Нет там вообще ничего не понятно. Переменная $x и $i нигде не объявлены на второй строке. И не понятно что вообще нужно от этого кода.
Ну так в этом и смысл, код не рабочий. $x[$i] - нигде не объявлены, но должны как бы переданы в функцию. (там то они объявлены)
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
28.02.2016, 18:35
Цитата Сообщение от Виетор Посмотреть сообщение
$x[$i] - нигде не объявлены, но должны как бы переданы в функцию. (там то они объявлены)
Стесняюсь спросить, а зачем передавать в функцию то, что создается в ней же?
1
5 / 5 / 3
Регистрация: 01.03.2013
Сообщений: 201
28.02.2016, 18:41  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
тесняюсь спросить, а зачем передавать в функцию то, что создается в ней же?
У меня около 50-ти подобных функций:
$p = 15 / 1 * $x[$i] - 10;
$p = 120 - $x[$i] * 5;
$p = 5/7 + 26 * $x[$i];
Массивы тоже разные:
$t = array(2, 5, 7);
$t = array(6, 5, 4, 6);
$t = array(5, 7);

Добавлено через 1 минуту
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Виетор, вам лямбды нужны? Этот код, что будет приведен ниже, в грубом приближении можно назвать кодом, но посмотрите, такое нужно?
О, да, оно самое, спасибо!)
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
28.02.2016, 18:48
Лучший ответ Сообщение было отмечено Виетор как решение

Решение

Виетор, тоже в грубом приближении, но можете под свои нужды переделать
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$x = array
        (
            array(2, 5, 7),
            array(6, 5, 4, 6), 
            array(5, 7)
        );
    $y = array
        (
            function($x) { return 15 / ($x * 10); }, 
            function($x) { return 120 - $x * 5; },
            function($x) { return 5 / 7 + 26 * $x; }
        );
    
    
    
    function graph($y, $x)
    {
        $arr = array();
        if (is_array($x))
        {
            $count = count($x);
            for ($i = 0; $i < $count; ++$i)
            {
                $arr[] = array($x[$i], $y($x[$i]));
            }
        }
        return $arr;
    }
    
    for ($i = 0; $i < count($y); ++$i)
    {
        $a = graph($y[$i], $x[$i]);
        print_r($a);
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2016, 18:48
Помогаю со студенческими работами здесь

Передача переменной в функцию
Добрый день столкнулся с проблемой не получается решить Есть код &lt;option value=&quot;&lt;?php echo $row...

Передача переменной в функцию
Имеются 2 скрипта: 1 с строками 2 с функцией. Помогите как передать переменную в тело функции из скрипта с строками. strings.php: ...

Передача переменной в функцию
Здравствуйте. Подскажите пожалуйста как сделать следующее: есть класс: #pragma once #include &quot;Point2d.h&quot; #include...

Передача переменной в функцию
вызывается getBuy($ZAKAZ); В итоге исполнения скриптов получаю вот это wheresql 1=where id =&quot;11&quot; wheresql 2=11 ...

Передача переменной через функцию
никак не могу разобраться... Из $row состоит ссылка, нужно, чтобы ...$cid присваивал действующее значение $row, т.е. ../index.php?cid=$row...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru