Witam, siedzę od kilku godzin nad problemem usuwania kolorów produktów, dla których wszystkie rozmiary są niedostępne.
Struktura danych wygląda mniej więcej tak: produkt ma dany kolor i rozmiary do niego przypisane, sam rozmiar przechowuje informację o jego dostępności. Teraz problem polega na tym, że chcę usunąć element tablicy kolorów, dla którego wszystkie rozmiary są niedostępne.
Próbowałem coś takiego, ale nie działa:
foreach($products as $product) {
$counter = 0;
foreach($product['color'] as $color['size'] => $size) {
if($size['availability'] == false) {
$counter++;
}
if($counter == count($product['color']))
{
unset($product['color']);
}
}
}
Przykładowa tablica:
$products = array(
'produkt1' => array(
'colors' => array(
'niebieski' => array(
'sizes' => array(
'31' => array(
'availability' => true,
),
'32' => array(
'availability' => true,
)
)
),
'czerwony' => array(
'sizes' => array(
'31' => array(
'availability' => false,
),
'32' => array(
'availability' => false,
)
)
),
),
),
'produkt2' => array(
'colors' => array(
'niebieski' => array(
'sizes' => array(
'31' => array(
'availability' => true,
),
'32' => array(
'availability' => true,
)
)
),
'czerwony' => array(
'sizes' => array(
'31' => array(
'availability' => false,
),
'32' => array(
'availability' => false,
)
)
),
),
),
);
Macie może jakiś pomysł jak w miarę elegancko rozwiązać ten problem?