Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wartość minimalna z dowolnej ilości macierzy
Forum PHP.pl > Forum > PHP
tikky
Mam kilka macierzy (nie wiem dokładnie ile, może 3 a może 10).
Chciałbym znaleźć najmniejszy element występujący w którejkolwiek z nich.

Mógłbym to zrobić np. tak:
  1. $min_wartosc=round(min(min($data1),min($data2),min($data3),min($data4),min($data5),min($data6)));

..ale dostanę błąd jeśli, będą istniały np. tylko 3 macierze.

Jak zrobić to bardziej uniwersalnie, sprawdzić czy dana macierz istnieje w pętli?

Pozdrawiam
Kasyx
Możesz trzymać te macierze w tablicy. Wtedy foreach przeleci wszystkie macierze. W pętli znajdź minimum każdej z macierzy i porównaj ją z aktualnie najmniejszą wartością, czyli coś w tym stylu:

  1. $minimum = false;
  2.  
  3. foreach( $tablicaMacierzy => $macierz)
  4. {
  5. if ($minimum === false || $minimum > min($macierz))
  6. {
  7. $minimum = min($macierz);
  8. }
  9.  
  10. }
tikky
 Dobra, mam np. cztery macierze:
  1. $arr1 = array(1,2,3,4);
  2. $arr2 = array(5,6,7,8);
  3. $arr3 = array(15,20,30,40);
  4. $arr4 = array(16,17,18,19);
Jak je mam teraz wrzucić do $tablicaMacierzy?

Kasyx
  1. $tablicaMacierzy = array();
  2. $tablicaMacierzy[] = $arr1;
  3. $tablicaMacierzy[] = $arr2;
  4. $tablicaMacierzy[] = $arr3;
  5. $tablicaMacierzy[] = $arr4;


Ale lepiej jest od razu zapisywać to do tablicy, bez pośredniego zapisu do tablic $arrX. Przerób sobie w ten sposób skrypt, jak sprawdzisz, czy działa sposób, który podałem wcześniej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.