[résolu] récuperer valeur max (array)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [résolu] récuperer valeur max (array)

Re: récuperer valeur max (array)

par billyocean » 27 févr. 2012, 01:02

vraiment merci

comme un idiot j'utilisais ma fonction Max sur mon array et non sur mon compteur, du coup ...

Bref voila c'est fait (sans faire de for ou quoi que ce soit)

aprés pour qu'il m'affiche le echo

cest des mp3 qui sont les + nombreux = le chiffre maxi

bah j'ai fait un switch
c'est aussi bien non ?

merci du coup de main les gars, je prend gout au php ;)

Re: récuperer valeur max (array)

par Jery » 27 févr. 2012, 00:42

Effectivement j'était parti sur des valeur numérique.
Je pense que l'explication de au dessus t'aidera donc mieux !

Re: récuperer valeur max (array)

par cydelic » 27 févr. 2012, 00:38

Bonsoir,

C'est normal que $max soit a 0, ton "if" ne test pas le nombre d'occurance des valeurs de ton tableau mais les valeurs elle-même
$max=0;
for($i=0;$i<count($Files);$i++) // Tu lis chaque entrée de ton tableau
{
    if($Files[$i]>$max) //donc ici pour la 1er entrée tu test : mp3 > 0 Ooops
    {
        $max=$Files[$i];
    }
}
echo "".$max."</br>";
Donc tu doit pouvoir adapter cette boucle pour tester le nombe d'occurance des extentions. Une cette correction faite cette solution est fonctionelle mais c'est un peu ré-inventer la roue. PHP à déjà pas mal de fonction pour traiter les tableaux, autant les utilisés :
$Files = array('mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','jpg','jpg','jpg','docx','docx','docx','docx','docx','xlsx','xlsx','xlsx','xlsx','xlsx',); 

$compteur = array_count_values($Files);
var_dump($compteur);

$nbMax = max($compteur);
$nbMin = min($compteur);
var_dump(array_search($nbMax, $compteur));
var_dump(array_search($nbMin, $compteur));
var_dump(array_keys($compteur, $nbMax));
var_dump(array_keys($compteur, $nbMin));
Pour comprendre pourquoi j'utilise array_keys test avec un tableaux comme ca :
$Files = array('mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','jpg','jpg','jpg','docx','docx','docx','docx','docx','xlsx','xlsx','xlsx','xlsx','xlsx','avi','avi','avi'); 

Re: récuperer valeur max (array)

par billyocean » 27 févr. 2012, 00:35

le souci c'est que mon tableau ne contient pas de valeur numérique
mais des "mp3", "jpg"...


du coup comment faire ??

Re: récuperer valeur max (array)

par Jery » 27 févr. 2012, 00:30

je l'est testez et sa marchez , donc sa doit venir de ton tableau qui est mal remplie avec des valeur numérique

Re: récuperer valeur max (array)

par billyocean » 27 févr. 2012, 00:24

	$max=0;
for($i=0;$i<count($Files);$i++)
{
if($Files[$i]>$max)
{$max=$Files[$i];}
}
echo "".$max."</br>";
mon echo me retourne 0

:/


Sinon ya pas moyen de jouer avec les variables que j'ai créé

cad = xlsx, jpg, mp3...

car j'ai fait des count et réussi à afficher qu'il y avait tant de fichier mp3, et tel nombre de jpg dans le array,


peut etre comme ça non ?
ou obligatoirement un for ?

Re: récuperer valeur max (array)

par Jery » 27 févr. 2012, 00:15

$max=0;
for($i=0;$i<count($tavararray);$i++)
{
if($tavararray[$i]>$max)
{$max=$tavarray[$i];}
}


essaye sa

Re: récuperer valeur max (array)

par billyocean » 27 févr. 2012, 00:08

Tu fait un contrôle sur chaque élément du array ,en mettant a chaque fois la valeur max dans une variable exemple .
Oui c'est ce que je me suis dit, mais comment faire ça ???
Je bloque là

Re: récuperer valeur max (array)

par Jery » 27 févr. 2012, 00:03

Tu fait un contrôle sur chaque élément du array ,en mettant a chaque fois la valeur max dans une variable exemple .

Tu compare le premier et le deuxième tu prend le plus grand , ensuite le 3ème avec le plus grand que tu viens de prendre et tu reprend le plus grand ... ect ,
jusqu’à ce que sa arrive a la fin de la table et la tu t’arrête.
Dans ta variable tu aura donc la plus grande valeur.Tu peut utilisez un for ou un while pour sa .

[résolu] récuperer valeur max (array)

par billyocean » 26 févr. 2012, 23:57

Bonjour,
c'est asser urgent (pour demain ^^)
comment récuperer la valeur maxi d'un array ?
par exemple
<?php 

	// Tableau des fichiers
$Files = array('mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','mp3','jpg','jpg','jpg','docx','docx','docx','docx','docx','xlsx','xlsx','xlsx','xlsx','xlsx',); 		
	
	$compteur=array_count_values($Files);
	$total= count($Files);

echo "nombre total de fichier : ".$total." </br>";	//compte simple le total
echo "nombre fichiers traitement texte : ".$compteur['docx']." </br>";	
echo "nombre fichiers d'images : ".$compteur['jpg']." </br>";
echo "nombre fichiers tableur : ".$compteur['xlsx']." </br>";
echo "nombre fichiers sons :  ".$compteur['mp3']."</br>";


?>

avec ça j'aimerai deux lignes supplémentaire
Les fichiers les plus nombreux : ????
Les fichiers les moins nombreux : ????

J'ai tenté la fonction max, sauf que je viens de m'appercevoir que ça foiré sur mon array,
admettons
$Max = max ($Files);
m'affichera toujours xlsx, meme si ceux là sont les moins, peut être car c'est le X de xlsx qu'il prend en compte...

Merci de me venir en aide