произвольное кол-во аргументов для array_intersect()

KFC

Guest
произвольное кол-во аргументов для array_intersect()

можно ли передать произвольное кол-во аргументов для array_intersect() ?
 

netdog

net @
Если ты не понял, то перевожу, фиксер тебе предложил почитать вот это:
[m]array_intersect[/m]
 

Tor

Новичок
похоже прийдется на каждый его пост отвечать:
а в мануале что написано?
 

KFC

Guest
читал.

хотелось бы нечто вроде этого:
PHP:
function varArg() 
{
   return $arg_list = func_get_args();
  
} 

$b=varArg($final[0],$final[1],$final[2],$final[3],$final[4],..., $final[n]);

$full=array_intersect($b);
пока что обхожусь этим:
PHP:
if(sizeof($final)==1){$full=$final[0];}
								elseif(sizeof($final)==2){ $full=array_intersect($final[0],$final[1]);}
								elseif(sizeof($final)==3){ $full=array_intersect($final[0],$final[1],$final[2]);}
								elseif(sizeof($final)==4){ $full=array_intersect($final[0],$final[1],$final[2],$final[3]);}
 

KFC

Guest
фунция varArg() динамически генерирует аргументы на основании определенных критериев (та что выше - дана просто для демонстрации ).
Вопрос в том как их лучше скормить array_intersect() ?

-~{}~ 14.04.05 18:43:

Автор оригинала: Net Dog
[m]eval[/m]'ом если уж очень так хочется
пара цитат:
Be careful when using eval() on heavy usage sites in PHP 4.0+ as it takes vastly longer to activate due to the limitations of the Zend engine.

The Zend engine changes the PHP to a binary structure at the START of the file, and then parses it. Every time an eval is called, however, it has to reactivate the parsing procedure and convert the eval()'d code into usable binary format again.

Basically, if you eval() code, it takes as long as calling a new php page with the same code inside.
If eval() is the answer, you're almost certainly asking the
wrong question. -- Rasmus Lerdorf, BDFL of PHP
 

KFC

Guest
дело в том, что array_intersect() в моем случае вызывается довольно часто и использование eval скорее всего будет неоптимально. Другого решения у меня пока что нет, но будем думать.
 

netdog

net @
ну используй свой 'оптимальный' вариант, по одному ИФУ на доп аргумент %)
 

KFC

Guest
IntenT,
спасибо огромное как раз то, что нужно !

вот окончательное решение:

PHP:
$full=call_user_func_array('array_intersect',$any_number_of_arrays_here);
 
Сверху