Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Operacja logiczna na elementach tablicy
adgad
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 14.04.2010

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


Witam,
mam jakąś tablicę:
  1. $data = array(
  2. 'jablko'=>1,
  3. 'pomarancza'=>0,
  4. ...
  5. );

Czy da się sprawdzić na zasadzie AND czy wartość logiczna tej tablicy to true-1 czy false-0? Dodam że liczba elementów w tablicy nie jest określona. Czyli chciałbym wiedzieć czy zmienna $data jest true czy false. Jak to zrobić?

Ten post edytował adgad 25.01.2013, 13:15:15
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Lecisz FOREACHem po całej tabeli i dokonujesz pokolei tego AND.

Możesz też sprawdzić in_array() czy wystepuje 0. Jak wystepuje, to logiczne ze calosc będzie miała wartosc 0, niezależnie czy bedą jeszcze jakieś 1 czy nie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
adgad
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 14.04.2010

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


W sumie myślałem o tym in_array i pewnie tak zrobię, ale mógłbyś podpowiedzieć jak z tym foreachem będzie? Chciałbym to zrozumieć. A narazie stworzyłem taką głupotę:
  1. foreach($data as $d=>$key){
  2. $result = $d[$key] AND $d[$key]-1;
  3. }
  4. echo $result;
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$d to key, $key to value.... skad zes wytrzasnal $d[$key] questionmark.gifquestionmark.gifquestionmark.gif Toż to banalny FOREACH.... manual naprawdę nie gryzie....

Pozatym masz robić aktualny z poprzednim. Poprzedni to twoj aktualny wynik:
  1. $result = 1;
  2. foreach($data as $d=>$value){
  3.  
  4. $result = $result && $value;
  5.  
  6. }
  7.  
  8. echo $result;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
adgad
post
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 14.04.2010

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


Po prostu głupie przeoczenie, zaraz po napisaniu posta dodałem przed pętlą zmienną $array=array() i jej przypisywałem w foreach $key. i z funkcją in_array działa. Zaraz wypróbuję ten sposób.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pisanie
$d[$key] to nie jest przeoczenie... to jest pisanie głupot wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
adgad
post
Post #7





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 14.04.2010

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


Cytat(adgad @ 25.01.2013, 13:21:19 ) *
...A narazie stworzyłem taką głupotę...

Ja o tym wiedziałem ... ale to i tak było przeoczenie i głupota smile.gif

Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ok smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 17:32