Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tablica wielowymiarowa, sprawdzenie czy istnieje element w tablicy
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Witam,

Mam taką strukturę tablicy wielowymiarowej:

  1. $myArray = array(1 => array('first' => array(2, 5, 4),
  2. 'second' => array(1, 2, 3)),
  3. 2 => array('first' => array(7, 4, 3),
  4. 'second' => array(9, 5, 2)),
  5. 3 => array('first' => array(2, 5, 9),
  6. 'second' => array(8, 3, 1)),
  7. );


Jak widać każdy z indeksów 1,2,3 posiada dokładnie takie same tablice z dwoma elementami "first" i "second" . Moje pytanie jest takie: Jak sprawdzić czy istnieje dany element w każdej tablicy "first" , ale Uwaga! na tej samej pozycji ? Czy wogóle jest to możliwe ? Może mam źle zaprojektowaną tablicę ?

Ten post edytował damianooo 2.07.2013, 20:47:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianooo
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


nie do końca o to mi chodziło ...

To ma działać tak:
Mam 4 graczy i każdy z każdym ma rozegrać po jednym meczu w jednej kolejce. Końcowy wynik ma być taki:

  1. $terminarz = array(1 => array(1 => array(1,2), 2 => array(3,4)),
  2. 2 => array(1 => array(1,3), 2 => array(2,4)),
  3. 3 => array(1 => array(1,4), 2 => array(2,3))
  4. );


Zrobiłem tak:

  1. $terminarz = array();
  2. for ($kolejka = 1; $kolejka <= 3; $kolejka++) {
  3. for ($gospodarz = 1; $gospodarz <= 4; $gospodarz++) {
  4. for ($gosc = 1; $gosc <= 4; $gosc++) {
  5. if ($gospodarz != $gosc) {
  6. if((!in_array($gospodarz, $terminarz[$kolejka][1])) &&
  7. (!in_array($gosc, $terminarz[$kolejka][1])) &&
  8. (!in_array($gospodarz, $terminarz[$kolejka][2])) &&
  9. (!in_array($gosc, $terminarz[$kolejka][2]))){
  10. $terminarz[$kolejka][1][] = $gospodarz;
  11. $terminarz[$kolejka][2][] = $gosc;
  12. }
  13. }
  14. }
  15. }
  16. }
  17. print_r($terminarz);


ale wyniki sie powtarzają. Nie wiem jaki zastosować tutaj algorytm.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 17:46