Tableaux Multidimentionnels (question relativement tordue ^^)

cs_Tizard Messages postés 20 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 19 juin 2006 - 14 mai 2006 à 18:39
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 15 mai 2006 à 22:33
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

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
15 mai 2006 à 21:47
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
0
Phil0 Messages postés 10 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 29 août 2006
15 mai 2006 à 22:05
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.
0
cs_Tizard Messages postés 20 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 19 juin 2006
15 mai 2006 à 22:31
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
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
15 mai 2006 à 22:33
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
0
Rejoignez-nous