powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php передать параметр в callback функцию
9 сообщений из 9, страница 1 из 1
php передать параметр в callback функцию
    #40098826
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет народ!
Я правильно понимаю, что php передать параметр в callback функцию не через задницу нельзя?
типа:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php //php 5.6.38 
function my_callback($item, $param2) {
  return echo $item." ".$param2;
}

$strings = ["Apple", "Asus", "Huawei", "Lenovo"];
$param2 = "hello";
$ret = array_map("my_callback", $strings); // ?????
print_r($ret);

?>
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40098827
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, конечно, выкрутился через
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function my_callback($item, $param2) {
  return $item." ".$param2;
}

$strings = ["Apple", "Asus", "Huawei", "Lenovo"];
$param2 = "hello";
$ret = array_map(function ($item) use ($param2) {
                   return  my_callback($item, $param2);
                 }
                 , $strings);
print_r($ret);


но малоли.
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099114
DHDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik,
Код: php
1.
2.
call_user_func(callable $callback, mixed ...$args): mixed
call_user_func_array(callable $callback, array $args): mixed


https://www.php.net/manual/ru/function.call-user-func.php
https://www.php.net/manual/ru/function.call-user-func-array.php
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099147
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DHDD, я пробовал типа array_map("my_callback", array($strings, $param2)); но не прокатило
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099466
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik
DHDD, я пробовал типа array_map("my_callback", array($strings, $param2)); но не прокатило
Естественно. Смотрите описание array_map. Нужно использовать отдельный аргумент-массив, заполнив его (одним и тем же) значением $param2 (при помощи array_fill или array_pad).
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099468
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
didgik
return my_callback
А непосредственно my_callback нельзя сделать анонимной?
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099471
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Также можно непосредственно видоизменять обрабатываемый массив при помощи array_walk. В этом случае есть возможность передавать дополнительный аргумент в колбэк.
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099531
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
$example = function ($arg, $message) {
    var_dump($arg . ' ' . $message);
};
$example("hello", "world" );
...
Рейтинг: 0 / 0
php передать параметр в callback функцию
    #40099556
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
estic
didgik
return my_callback
А непосредственно my_callback нельзя сделать анонимной?

Изначально она и была анонимной, но мне надо от этого уйти.

ScareCrow
Код: php
1.
2.
3.
4.
$example = function ($arg, $message) {
    var_dump($arg . ' ' . $message);
};
$example("hello", "world" );


Я в курсе такого способа, но как его использовать в контексте моего вопроса я не понимаю.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php передать параметр в callback функцию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]