Nasıl kaç diziler php ile çok boyutlu bir dizi içindeki aynı ada sahip saymak mı?

3 Cevap php

Ben çok boyutlu bir dizi var ve ben bunun içinde birden diziler olurdu. O dizilerin bazıları da içlerinde birden diziler içerir, ve ben ikinci dizi (tarih) içinde kaç diziler saymak istiyorum.

Bu, çok boyutlu dizinin yapısının bir örneğidir:

$_SESSION['final_shipping'][04/03/2010][book]
$_SESSION['final_shipping'][04/12/2010][magazine]
$_SESSION['final_shipping'][04/12/2010][cd]

Bu benim şu anda ikinci dizi (tarihleri ​​ile bir) var kaç saymak için kullanıyorum foreach ifadedir.

foreach($_SESSION['final_shipping'] as $date_key => $date_value) { 
    foreach ($date_value as $product_key => $product_value) { 
        echo 'There are ' . count($date_key) . ' of the ' . $date_key . ' selection.<br/>';
    }
}

O anda bu çıktısı:

There are 1 of the 04/03/2010 selection.
There are 1 of the 04/12/2010 selection.
There are 1 of the 04/12/2010 selection.

Ben çıktı bu bunu istiyorum:

There are 1 of the 04/03/2010 selection.
There are 2 of the 04/12/2010 selection.

3 Cevap

Bu anahtara değil, anahtarın kendisi boyutu eşleştirilmiş dizi değeri öğelerin sayısını saymak istiyorum çünkü, count() üzerine $date_value yerine çağırır.

foreach($_SESSION['final_shipping'] as $date_key => $date_value) {
    echo 'There are ' . count($date_value) . ' of the ' . $date_key . ' selection.<br/>';
}

Sen olması gereken yanlış varibale sayma $date_value

foreach($_SESSION['final_shipping'] as $date_key => $date_value) { 
    echo 'There are ' . count($date_value) . ' of the ' . $date_key . ' selection.<br/>';
}