Autor Zpráva
ph
Profil *
mam toto pole:

$zavislosti=array(array("K","M"),

array("L","O"),
array("O","N"),
array("LN","M"),
array("M","K"),
array("O","M")
);

Ma to popisovaf funkcni zavislost F(L>M, L>O, O>N, LN>M, M>K, O>M)
a potřebuju vypsat něco takového:

K+={K,M}
L+={L,O,N,M,K}
O+={O,N,M,K}
LN+={L,O,N,M,K}
N+={N}
M+={M,K}

Cili ze to z toho pole veme prvni z te dvojce, k tomu vypise to druhe, pak vyhleda to drzhe, jestli neni nekde jinde jako prvni a pripise k nemu to druhe atd...
ph
Profil *
F(K>M, L>O, O>N, LN>M, M>K, O>M)
byla tam chybka, takto to je ok
joejoe
Profil *
ja bych to spis zapsal takhle:

$zavislosti=array(
"K" =>array("M"),
"L" => array("O"),
"O" => array("N", "M"),
"LN" => array("M"),
"M" => array("K"),
);

dostat z toho pole informaci, kterou chces ty si budes muset ale naprogramovat sam, protoze takova funkce afaik neexistuje.

mohlo by to mozna vypadat priblizne takhle (teda jestli jsem to spravne pochopil):

foreach($zavislosti as $key => $childs) {
$vysledek[$key] = najdi_zavislosti($zavislosti);
}

function najdi_zavislosti($vstup) {
$vystup = array();

while ($vystup_narusta) { // tady bude nejaka iterace ve dvou cyklech,
foreach($vstup ...) { // najde ktere
$zavilost = neco();
if (!in_array($pole, $zavilslost) {
array_push ($vystup, $zavislost);
}
}
}
return $vystup;
}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0