[PHP] zakresy i skakanie po tablicy :)

0

Borykam się z nast. problemem, na razie bardziej z punktu widzenia logicznego niż programistycznego.

Stan faktyczny:

class Obiekt {

var stan;
var zakres;

function obiekt() {
$this->stan = 1 // ale czasem 0
$this->zakres = 2 // moze byc od 1 do powiedzmy 4
}
}

i teraz tworzymy tablice od [0] do [9] takich obiektów.

Chcę zrobić graficzną reprezentację tego na tabeli która ma 10 komórek. Komórki się podświetlą, jeśli stan=1, ale uwzględniając wartość ->zakres, czyli podświetla się ta, która odpowiada indexem, ale też odpowiednia ilość następujących po niej - tylko że do nich zaraz dojdzie pętla. Chodź powinny się podświetlić, to są gołe bo informacje o ich podświetleniu przechowuje obiekt z odpowiednią wartością ->zakres. Zakładamy, że konflikt (nachodzenie) nie występuje.

Problemy:

  1. Nie da rady po tej tablicy lecieć pętlą foreach. Może coś skopałem, ale wychodziła mi tylko jedna iteracja (tak to się chyba nazywa). Jak zmieniłem na staroświeckie for to śmiga aż miło.

  2. Nie wiem jak sobie poradzić z zakresem. Kombinowałem tak, że jeśli zakres > 1, to uruchamiałem pętlę od 0 do tej wartości, która operowała na odpowiednio wyższych indeksach tablicy i coś z nimi robiła. Wyższedł z tego tak skomplikowany twór, że nie wiem już gdzie print_r wsadzić ;-).

Jakieś "hinty"? :) [browar]

0

Nie wiem czy dobrze rozumiem, ale chodzi o to, żeby podświetlić "zakres" komórek (niezależnie od stanu) po każdej, która ma stan=1?

$objs = array(...);
$left = 0;
foreach ($objs as &$obj) {
    if ($left > 0) {
        podswietl();
        $left--;
    }
    if ($obj->stan == 1) {
        podswietl();
        $left = $obj->zakres;
    }
}
0

@nav jesteś moim mistrzem :). Jakie to proste i oczywiste. [browar] x 10

1 użytkowników online, w tym zalogowanych: 0, gości: 1