A jednak nie działa

Dziękuję bardzo za pomoc ... ale już działa

Dzięki
darko za naprowadzenie mnie na odpowiedni tok myślenia

Wystarczyło Twój kod zmodyfikować.
$tab3 = array(); // tu przechowujemy "unikalne" warto?ci for($i=0; $i<count($tab1); $i++) {
if(!in_array($tab1[$i].$tab2[$i], $tab0)) { // nie filtrujemy przez obie opcjie tylko przez jedną
$tab3[] = $tab1[$i].$tab2[$i];
// czy odwrotnie, jak tam potrzebujesz: $tab3[] = $tab2[$i].$tab1[$i];
}
}
//
// tablica $tab3 powinna zawierać unikatowe warto?ci pozbawione kombinacji $tab1[$i].$tab2[$i] i odwrotnie. Polecam przepisać to w funkcję i zrobić array_walk
//
i teraz zmieniając kolejność kolumn w zapytaniu IF otrzymuję albo pierwszy albo drugi wpis ... mogę wybierać.
Myślę że spokojnie należy ci się POMÓGŁ. Jeszcze raz dzięki. Dla mnie temat do zamknięcia.
*******************************************************
*******************************************************
Wracam niestety do tematu

ponieważ to jednak nie działa
Co prawda post będzie obszerny ale postaram się przedstawić co ma wykonać kod. Otóż chcę zrobić programik który ma na celu zamianę listy połączeń elektrycznych wykonanej w excelu w listę punkt-punkt do programu testera.
Oto jak wygląda
schemati może jeszcze jak mogą wyglądać inne
schematy ponieważ ten nad którym pracuję teraz jest jednym z prostszych.
tabela w excelu to:
KOSC1 PIN1 KOSC2 PIN2 PRZEWÓD
X57 Klip 1 22:03
X44:2 1 Klip 1 22:01
X44:1 1 Klip 1 22:02
X44:1 2 X44:2 2 40:01
Wynik z całości powinien wyjść taki :
X44:1/2 - X44:2/2
X44:1/1 - X57
X44:1/1 - X44:2/1
X44:2/1 - X57
Czyli jak widać wszystkie możliwe kombinacje bez powtórzeń gdzie pominięty jest element o nazwie Klip1 (tak jakby w to miejsce włożyć poszczególne piny)
teraz czas na kody:
Ładuję dane z pliku:
{
$plik = "test/test.txt";
for($i=0;$i<count($dane_plk);$i++)
{
$split = explode(" ", $dane_plk[$i]);
$ladowanie['kosc_1'][] = $split[0];
$ladowanie['kontakt_1'][] = $split[1];
$ladowanie['kosc_2'][] = $split[2];
$ladowanie['kontakt_2'][] = $split[3];
$ladowanie['przew'][] = $split[4];
}
echo "Plik został załadowany poprawnie...<br><br> }
else
{
echo "Plik nie został załadowany...<br><br>";
}
$ile_ladowanie = count($ladowanie['kosc_1']);
for($y=0;$y<$ile_ladowanie;$y++)
{
$lp = $y+1;
echo $lp.'. '.$ladowanie['kosc_1'][$y].'/'.$ladowanie['kontakt_1'][$y].' ('.$ladowanie['przew'][$y].') '.$ladowanie['kosc_2'][$y].'/'.$ladowanie['kontakt_2'][$y].'<br>';
if(($ladowanie['kosc_1'][$y]!="Klip 1")&&($ladowanie['kosc_2'][$y]!="Klip 1")) // zapisuję już gotowe połączenia czyli te które nie przechodzą przez Klip1
{
$gotowa['kosc_1'][] = $ladowanie['kosc_1'][$y].'/'.$ladowanie['kontakt_1'][$y];
$gotowa['kosc_2'][] = $ladowanie['kosc_2'][$y].'/'.$ladowanie['kontakt_2'][$y];
$gotowa['przew_1'][] = $ladowanie['przew'][$y];
$gotowa['przew_2'][] = $ladowanie['przew'][$y];
}
else
{
if($ladowanie['kosc_1'][$y]=="Klip 1") //przydzielam do klipa po lewej stronie kostkę z prawek
{
$przyp_krimp['krimp'][] = $ladowanie['kosc_1'][$y];
$przyp_krimp['kosc'][] = $ladowanie['kosc_2'][$y].'/'.$ladowanie['kontakt_2'][$y];
$przyp_krimp['przew'][] = $ladowanie['przew'][$y];
}
if($ladowanie['kosc_2'][$y]=="Klip 1") //przydzielam do klipa po prawej stronie kostkę z lewej
{
$przyp_krimp['krimp'][] = $ladowanie['kosc_2'][$y];
$przyp_krimp['kosc'][] = $ladowanie['kosc_1'][$y].'/'.$ladowanie['kontakt_1'][$y];
$przyp_krimp['przew'][] = $ladowanie['przew'][$y];
}
}
}
Wynik to:
pierwsze gotowe wpisy
1. X44:1/2 (40:01) - X44:2/2 (40:01) - jedno poprawne połączenie
--------------------------
gotowe zamienniki klipa
1. Klip 1 - X57/2 (22:03)
2. Klip 1 - X44:2/1 (22:01)
3. Klip 1 - X44:1/1 (22:02)
Wykonuję podmianę Klip 1 na wcześniej przypisane pozycje:
for($c=0;$c<$ile_ladowanie_2;$c++)
{
for($v=0;$v<$ile_krimp_3;$v++)
{
if($ladowanie['kosc_2'][$c]==$przyp_krimp['krimp'][$v])
{
if($ladowanie['kosc_1'][$c].'/'.$ladowanie['kontakt_1'][$c]!=$przyp_krimp['kosc'][$v])
{
echo $ladowanie['kosc_1'][$c].'/'.$ladowanie['kontakt_1'][$c].' ('.$ladowanie['przew'][$c].') - '.$przyp_krimp['kosc'][$v].' ('.$przyp_krimp['przew'][$v].')<br>';
$gotowa2['kosc_1'][] = $ladowanie['kosc_1'][$c].'/'.$ladowanie['kontakt_1'][$c].'('.$ladowanie['przew'][$c].')';
$gotowa2['kosc_2'][] = $przyp_krimp['kosc'][$v];
$gotowa3[] = $ladowanie['kosc_1'][$c].'/'.$ladowanie['kontakt_1'][$c].$przyp_krimp['kosc'][$v];
}
}
if($ladowanie['kosc_1'][$c]==$przyp_krimp['krimp'][$v])
{
if($ladowanie['kosc_2'][$c].'/'.$ladowanie['kontakt_2'][$c]!=$przyp_krimp['kosc'][$v])
{
echo $ladowanie['kosc_2'][$c].'/'.$ladowanie['kontakt_2'][$c].' ('.$ladowanie['przew'][$c].') - '.$przyp_krimp['kosc'][$v].' ('.$przyp_krimp['przew'][$v].')<br>';
$gotowa2['kosc_1'][] = $przyp_krimp['kosc'][$v];
$gotowa2['kosc_2'][] = $ladowanie['kosc_2'][$c].'/'.$ladowanie['kontakt_2'][$c].'('.$ladowanie['przew'][$c].')';
$gotowa3[] = $przyp_krimp['kosc'][$v].$ladowanie['kosc_2'][$c].'/'.$ladowanie['kontakt_2'][$c];
}
}
}
}
i tu zaczynają się schody
Wynik jaki dostaję to :
X57 (22:03) - X44:2/1 (22:01)X57 (22:03) - X44:1/1 (22:02)X44:2/1 (22:01) - X57 (22:03)
X44:2/1 (22:01) - X44:1/1 (22:02)X44:1/1 (22:02) - X57 (22:03)
X44:1/1 (22:02) - X44:2/1 (22:01)
gdzie pogrubione pozycje są poprawne a pozostałe zbędne
Niestety in_array nie działa tu. array_unique tez tu nie pomaga
Ma ktoś może jakiś pomysł jak otrzymać wynik bez powtórzeń?