IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
motorovapila
Člen
Avatar
motorovapila:7.7.2014 17:35

Zdravim z databaze filtruji data, ktere ukladam do vice poli a nasledne zjistuji prunik vsech poli př:.

$a = array(34,58,76,9,995,100);
$b = array(34,74,76,7,44);
$c = array(34,78,55);
$d = array(34,58,44,25,69,78,105);
$e = array(34,78,55);

$prunik = array_intersect($a,$b,$c,$d,$e);

Problem nastava, když jedno z poli neni vubec naplněno př:.

$a = array(34,58,76,9,995,100);
$b = array(34,74,76,7,44);
$c = array(34,78,55);
$d = array(34,58,44,25,69,78,105);
$e = array();

$prunik = array_intersect($a,$b,$c,$d,$e);

Netušíte někdo jak vyřešit, pokud je pole $e = array(); prazdne, aby se zjistil prunik z $a,$b,$c,$d ??

diky moc za radu

 
Odpovědět
7.7.2014 17:35
Avatar
Ori I
Člen
Avatar
Odpovídá na motorovapila
Ori I:7.7.2014 17:50
$args = array();

$a = array(34,58,76,9,995,100);
$b = array(34,74,76,7,44);
$c = array(34,78,55);
$d = array(34,58,44,25,69,78,105);
$e = array();

if ( !empty($a) ) $args[] = &$a;
if ( !empty($b) ) $args[] = &$b;
if ( !empty($c) ) $args[] = &$c;
if ( !empty($d) ) $args[] = &$d;
if ( !empty($e) ) $args[] = &$e;

if ( count($args) == 1 ) {
  $prunik = $args[0];
} else {
  $prunik = call_user_func_array('array_intersect', $args);
}

Myslím, že hľadáš toto.

samozrejme, že tie ify by sa dali zautomatizovať ale to už záleží na tvojom skripte

Editováno 7.7.2014 17:51
 
Nahoru Odpovědět
7.7.2014 17:50
Avatar
motorovapila
Člen
Avatar
Odpovídá na Ori I
motorovapila:7.7.2014 18:16

Super, presne toto hledam diky moc

 
Nahoru Odpovědět
7.7.2014 18:16
Avatar
Ori I
Člen
Avatar
Odpovídá na motorovapila
Ori I:7.7.2014 18:19

zamálo, stačí len googliť. vždy sa nájde niekto, kto už ten problém vyriešil

 
Nahoru Odpovědět
7.7.2014 18:19
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.