Cześć, zamieszczam swój fragment kodu, z którym mam mały problem.
$result = array();
foreach ($products as $detail) {
$cid = $detail['category_id'];
$pid = $detail['product_id'];
$status = $detail['active'];
$result[$cid][$pid] = $status;
}
$multiplier = $result[$cid][$pid];
$counter = count($result[$cid]);
$multiplier2 = 1;
for ($id = 0; $id < $counter; $id++) {
$multiplier = $multiplier * $multiplier2;
}
if ($multiplier == 0) {
echo 'Kategoria ID '.$cid.' pusta';
} else {
echo 'Kategoria ID '.$cid.' zawiera produkty';
}
Generuje on następującą tablice:
Array
(
[221] => Array
(
[1] => 0
[2] => 0
)
[1437] => Array
(
[3] => 0
)
)
Wszystko byłoby spoko, gdyby nie fakt - że wyświetla tylko jedno echo - mianowicie ostatni rekord tablicy. Działa to na tej zasadzie, że skrypt pobiera wartości [1][2][3] i tak dalej (nie sa one po kolei, tutaj tak się złożyło) i mnoży je przez siebie w odpowiednim ID nadrzędnym. Jeśli wynik mnożenia jest > 0 wyświetla "kategoria zawiera produkty" jeżeli nie, pusta. Problem w tym, że wyświetla tylko jedno echo - a na przykładzie tej tablicy, powinien wyświetlić ich dwa - mianowicie 2x "kategoria jest pusta". Jak mogę to naprawić?