2010-11-05 2 views
1

Я создаю массив массивов следующим образом:Как создать список параметров для функции?

$final_array = array(); 
for($i = 0; $i < count($elements); $i++) { 
    for($j = 0; $j < count($elements); $j++) { 
     if($i!=$j) 
      $final_array[] = array_intersect($elements[$i], $elements[$j]); 
    } 
} 

Я пытаюсь выяснить список элементов, которые происходят во всех массивах внутри переменной $final_array. Поэтому мне было интересно, как передать это функции array_intersect. Может ли кто-нибудь сказать мне, как построить аргументы, используя $final_array[0], $final_array[1], ... $final_array[end_value] для array_intersect? Или, если есть лучший подход к этому, это тоже будет здорово.

Я ищу способ построить следующее:

array_intersect($final_array[0], $final_array[1], $final_array[2], ...)

+0

Извините, если я не понял ваш вопрос, но вы прочитали это: http://php.net/manual/en/function.array-intersect.php? –

+0

@G. Qyy: На самом деле я сделал :) Я отредактировал свой вопрос, чтобы обеспечить то, что именно я искал. – Legend

ответ

3

Почему вам нужно сделать все это работает? Просто используйте call_user_func_array.

+0

Это замечательно! Большое спасибо ... Я даже не знал об этой функции и о существовании лямбда-функций в PHP, хотя моя версия жалуется на синтаксическую ошибку, когда я пытаюсь объявить пользовательскую функцию. – Legend

+0

@Legend: 'call_user_func_array' принимает' обратный вызов', который может быть много другим (лямбда, массив, строка). Посмотрите на псевдотип 'callback': http://us3.php.net/manual/en/language.pseudo-types.php#language.types.callback –

+0

Yeap .. Глядя на это сейчас ... Спасибо много. – Legend