Ich habe einen Array, der z.B so aussehen kann.
Der Array gibt an von welchen Key man über den Value zum nächsten Key kommen kann. Nun möchte ich alle Keys herrausfinden, die über einen Weg z.B. zu dem Key x4 führen können, also in dem Fall wären dass:
[x1], [x2] -> x4
[x3] -> x4
[x5], [x3] -> x4
Was ich bisher habe ist:
damit finde ich schon den Weg raus:
leider erkennt er nicht, dass er auch von
zu x4 kommen kann
jemand eine Idee?
Danke schonmal
DadyCool
PHP:
Array
(
[x1] => x2
[x2] => x4
[x3] => x4
[x4] => x5
[x5] => x3
[x6] => x7
[x7] => x8
)
Der Array gibt an von welchen Key man über den Value zum nächsten Key kommen kann. Nun möchte ich alle Keys herrausfinden, die über einen Weg z.B. zu dem Key x4 führen können, also in dem Fall wären dass:
[x1], [x2] -> x4
[x3] -> x4
[x5], [x3] -> x4
Was ich bisher habe ist:
PHP:
$Id = 'x4';
$raus = array();
$tmp = $verlauf;
while(in_array($Id, $tmp))
{
$Key = array_search($Id, $tmp);
array_push($raus, $Key);
unset($tmp[$key]);
foreach (array_reverse($tmp) as $keys => $value) {
if ($value == $Key ) {
$Key = array_search($Key, $tmp);
array_push($raus, $Key);
unset($tmp[$Key]);
}
}
}
array_push($raus, $Id);
damit finde ich schon den Weg raus:
PHP:
x1, x2
leider erkennt er nicht, dass er auch von
PHP:
x3 und x5
jemand eine Idee?
Danke schonmal
DadyCool