2009-10-04 7 views
4

je stocke des données de panier dans une SESSION tableau comme ceci:PHP: Nombre de Nombre de tableaux dans SESSION

$_SESSION['cart'][$sessID] = array ('quantity' => 1, 'price' => $prodPrice, 'prodName' => $prodName, 'size' => $size, 'handle' => $handle) 

Chaque fois qu'un utilisateur ajoute un élément au panier, un nouveau sessID est créé et une nouvelle Session Array.

Comment puis-je compter combien de sessID il y a quand il s'agit de vérifier?

Je ne t veulent compter les articles dans le panier - Je veux compter le nombre de occurences de $ _SESSION [ « cart »]

Merci

+0

Si l'une des réponses ici résolu votre problème, vous devez l'accepter en cliquant sur la case ci-dessous les réponses nombre de voix. D'autres sauront alors que ce problème a été résolu. – soulmerge

Répondre

5

Si je comprends bien la question vous cherchez count()

count($_SESSION['cart']) 
+0

Cela fonctionne parfaitement - merci! J'ai essayé ceci avant, mais pour quelque raison j'ai utilisé quelque chose comme: count ($ _ SESSION ['cart'] ['sessID']) donc j'ai obtenu le nombre d'éléments dans chaque tableau, plutôt que le nombre de tableaux dans la session. Merci encore - j'apprécie –

5

Si vous êtes sûr $_SESSION['cart'] contient quelque chose, vous pouvez utiliser:

$items_in_cart = count($_SESSION['cart']) 

Si elle peut être vide:

$items_in_cart = is_array($_SESSION['cart']) ? count($_SESSION['cart']) : 0 
+0

Ceci est correct, mais vous devriez changer le nom de la variable à quelque chose d'autre que $ items_in_cart, car le contenu est le numéro de $ sessID dans le panier. Pour le nombre d'articles, vous deviez additionner les quantités. – rogeriopvl

+0

Merci beaucoup - j'apprécie votre aide –