powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
7 сообщений из 7, страница 1 из 1
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302127
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
допустим есть фунция

Код: plaintext
1.
2.
3.
function foo_1()
{
  ...
}


принимающая перем. число аргументов. Ее хотелось бы вызывать из другой функции, которая таким образом должна принимать переменное число аргументов

Код: plaintext
1.
2.
3.
function foo_2(<...>)
{
  foo_1($query, <...>);
}


Это возможно?
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302337
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
язык какой ?
php - через func_get_args();
perl :
Код: plaintext
1.
2.
sub func1 {
 ($value1, $value2) = @_;
}
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302489
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Язык PHP.

func_get_args() возращает массив из переданных аргкментов, который не годится для передачи, нужен именно список аргументов, а не один аргумент типа массив.

По видимому возможно только через eval
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302531
Фотография ©Felix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще то..... если разобраться то удобнее передавать как раз масив параметров.... ведь если нужно вернуть не один параметр то так и делаеться.. то есть возвращаеться в структуру или в массив... почемы бы не делать и при передачи параметров....

Felix
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302571
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно что лучше, но увы не получится, объясняю подоплеку.

Пишется небольшой wrapper interface для униформной работы с разными базами. В частности метод для выполнения prepared запроса.

Для odbc все как надо, ожидается массив

Код: plaintext
odbc_execute ( resource result_id [, array parameters_array])


а вот для interbase, ожидается переменный список параметров.

Код: plaintext
ibase_execute ( int query [, int bind_args])


и надо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
class InterBaseDBWorker
{
  ...
  function execute_prepared_query( /*param list*/ )
  {
     ibase_execute($prepared_query,  /*param list*/ );  -- и как это сделать?
 
  }
}
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302584
Stellar.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем не подходит массив?
...
Рейтинг: 0 / 0
Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
    #32302614
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
А чем не подходит массив?


См. предыдущий постинг

автор писал:а вот для interbase, ожидается переменный список параметров.

ibase_execute (int query [, mixed bind_args])

PS
Вот решение через eval

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function foo2()
{
  return  "number of args: "  . func_num_args();
}

function foo()
{
  $args = func_get_args();
  eval( "\$result = foo2("  . implode( "," , $args) .  ");" );

  return $result;
}

echo foo( 1 ,  5 ,  "vio" );
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вызов фунции с перем. числом агрументов из др. ф-ции с перем. числом агрументов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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