Tableaux Multidimentionnels (question relativement tordue ^^)

Signaler
Messages postés
20
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
19 juin 2006
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour,

alors voilà je m'y connais assez en PHP, mais là je suis bloqué.

Donc j'ai un tableau de ce type (c'est un jeu de cartes)

Array
(
Array (1, 'Trèfle', 'As')
Array(5, 'Carreau', '5')
Array(1, 'Cœur', 'As')
)

(bien sûr il peut y avoir plus de cartes etc étant donné que c'est aléatoire...)

Voilà je voudrais calculer combien de fois il y a d'as par exemple.
Donc à moins de faire une fonction qui prenne tous les éléments un par un etc, je me demandais si il y avait pas un moyen plus simple.

Au début j'ai commençé en faisant un truc dans ce genre
$nbr=count(array_keys($tableau, "1");

Mais en fait le truc qu'il me faudrait c'est un truc de ce genre
$nbr=count(array_keys($tableau[][0], array($x)));

où le [] corresponderait à tous les éléments. (On prend tableau, chaque élément étant un array auquel on prend l'élément 1.

Mais ça ne marche pas... quelqu'un peut m'aider?

Merci !

4 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
la fonction in_array t aidera surement ...
voir la doc ici ====> http://fr.php.net/manual/fr/function.in-array.php

-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Messages postés
10
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
29 août 2006

si je comprends bien tu peux aussi definir ton tableau comme ça :

$tableau['1']['Trèfle'] = "as";

$tableau['5']['Carreau'] = "5";

$tableau['1']['Coeur'] = "as";

alors il suffit de compter les 1 :

<?php

$tableau['1']['Trèfle'] = "as";


$tableau['5']['Carreau'] = "5";


$tableau['1']['Coeur'] = "as";

$nbr = count($tableau['1']);

print $nbr;

?>

mais je me trompe peut -être.
Messages postés
20
Date d'inscription
lundi 26 juillet 2004
Statut
Membre
Dernière intervention
19 juin 2006

Non tu ne te trompes pas mais cependant, j'avais besoin de la valeur de la carte, de la traduction, mais aussi d'un index correspondant.

genre:=>
<?php
$tableau[0][1]["Trèfle"]['As'];
$tableau[1]------------
$tableau[2]------------
$tableau[3]------------

Donc ta méthode marche, mais je préfère garder mon "algorythme" et essayer avec la réponse de Teclis qui répond je crois à ma question.

(Je valide la réponse dès que j'ai testé ;) )
?>

tiz
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
j'y repond en effet un peu brutalement mais j'y reponds
c'est juste que je veux pas paraphraser l explication d un manuel sur php sinon ou va le monde ?

-------------------------------------------------------------------------------------------------------
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie