Fonctions sur tableaux

Résolu
3xodius55 Messages postés 91 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 16 septembre 2010 - 3 août 2006 à 21:27
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 4 août 2006 à 13:25
Bonjour,

Je dispose d'un tableau contenant des numéros (identifiants), les numéros peuvent revenir plusieurs fois dans le tableau.

J'aurai voulu savoir s'il existe une fonction qui me retournerait le nombre de fois qu'apparait un nombre.

Cela serait utilisé pour mon moteur de recherche.

Merci d'avance de vos réponses

Tchao
 

3 réponses

3xodius55 Messages postés 91 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 16 septembre 2010
3 août 2006 à 22:15
bon bah merci à... mon pote via Msn !

La réponse à mon problème était de faire :

while ($rec = mysql_fetch_row($res))
{
   $tab[$rec[0]] += 1
}

ainsi au lieu d'avoir :
Array
(
    [0] => 1
    [1] => 3
    [2] => 1
)

on aura :
Array
(
    [1] => 2
    [3] => 1
}

Et voilà ! Tout con mais encore fallait-il y penser !
 
3
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
4 août 2006 à 01:57
je ne connais pas assez php, mais si tu as dans $rec[0] tu as 255
le tableau ne prendras pas plus de mémoire? il ne réserveras un tableau array[255]?
j'aimerais bien qu'on puisse me répondre à ma question car je ne connais pas très bien les "réservation" de mémoire avec php...
merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 août 2006 à 13:25
Hello,

il y a array_count_values () pour compter la fréquence des valeurs d'un tableau.
Mais comme tu parles de requête, là...il faudrait voir ta table, et ta requête. Parce que tu n'as à priori pas besoin de faire ça. Une clause GROUP BY avec un SUM devrait le faire très bien.


Apacheswiss => PHP gère seul sa mémoire, et se débrouille pas mal (même s'il y a des flottements). Donc on a pas besoin de définir une taille maximale pour un tableau, comme dans d'autres langages. PHP réserve dynamiquement la mémoire dont il a besoin.


$aTab[5] = 6;


Ne veut pas dire que PHP réserve de mémoire pour un tableau de 5 entrées. Il ne réserve que ce dont il a besoin pour stocker cette entrée.


Mais bon...ça resterait à vérifier avec exactitude quand même.
0
Rejoignez-nous