Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Operacja logiczna na elementach tablicy
Forum PHP.pl > Forum > Przedszkole
adgad
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ć?
nospor
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
adgad
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;
nospor
$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;
adgad
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.
nospor
Pisanie
$d[$key] to nie jest przeoczenie... to jest pisanie głupot wink.gif
adgad
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

nospor
ok smile.gif
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.