Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Flagi PHP zagadka
duch4ever
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 22.06.2010

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


Witam ma checkboxy a ich wartość to kolejne flagi czyli:

checkbox value = 1
checkbox value = 2
checkbox value = 4
checkbox value = 8

itd..

i teraz mam sumę tych flag przy wyniku czyli zaznaczę 1,2 i 4 mam wynik 11 czyli suma.
I teraz jak z tej sumy wyznaczyć które były zaznaczone? W miarę prostą metodą? Dodam że chcę z tego korzystać kilka razy,
ilość checkboxów się zmienia ale zawsze value jest to samo czyli 1,2,4,8,16 itd. Pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jesus61
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 3
Dołączył: 26.09.2010

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


To może tak:
  1. $suma = 11; // przykładowo
  2.  
  3. $suma_bin = strrev(decbin($suma)); // zamieniamy na kod binarny i odwracamy
  4.  
  5. for ($i=0; $suma_bin[$i]!=''; $i++)
  6. {
  7. if ($suma_bin[$i]) echo 'Checkbox '.($i+1).' jest zaznaczony'; // $i + 1 jeżeli liczysz checkboxy od 1, a samo $i gdy liczymy je od 0
  8. }


Ten post edytował jesus61 1.10.2010, 09:01:42
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: 17.10.2025 - 09:49