[RESOLU] Afficher les 2 variables les plus petites

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 : [RESOLU] Afficher les 2 variables les plus petites

Re: Afficher les 2 variables les plus petites

par two3d » 11 déc. 2022, 19:53

ça me parait une usine à gaz.
<?php
$Tab=array(2.3, 1.4, 6.3, 7.2, 5.6, 1.9, 7.8, 2.2);
sort($Tab);
echo $Tab[0] . '<br />';
echo $Tab[1] . '<br />'; 
?>
Les fermeture des balises (<br />) ne sont plus nécessaires d'après la validation online, pas besoin de les mettre ;)

Re: [RESOLU] Afficher les 2 variables les plus petites

par aviso792 » 11 déc. 2022, 18:52

Effectivement !
Le savoir s'accroit inversement proportionnel au nombre de lignes d'un script
Merci

Re: Afficher les 2 variables les plus petites

par or 1 » 11 déc. 2022, 13:17

ça me parait une usine à gaz.
<?php
$Tab=array(2.3, 1.4, 6.3, 7.2, 5.6, 1.9, 7.8, 2.2);
sort($Tab);
echo $Tab[0] . '<br />';
echo $Tab[1] . '<br />'; 
?>

Re: Afficher les 2 variables les plus petites

par aviso792 » 11 déc. 2022, 10:14

Avec l'aide de tous j'ai réussi à obtenir ce que je voulais, à savoir récupérer uniquement les 2 variables les plus petites
pour les injecter dans un calcul futur
$Min1 = min(array ($result_Coef_HtP, $result_Coef_Dt));
//echo (($Min1)."\n>");
$Min2 = min(array ($result_Coef_Cp, $result_Coef_Ab));
//echo (($Min2)."\n>");
$Min3 = min(array ($result_Coef_Org, $result_Coef_Main));
//echo (($Min3)."\n>");

$tri = array($Min1,$Min2,$Min3);
    
    sort($tri);
    unset($tri[2]);
    //print_r($tri)."\n-------";
$tri0 = ($tri[0]);
$tri1 = ($tri[1]);

echo $tri0."\n>";
echo $tri1."\n>";
Cela vous parait-il correcte ?

Re: Afficher les 2 variables les plus petites

par two3d » 09 déc. 2022, 23:31

Ton foreach sert à rien si tu fait un tri

Ton foreach sert à rien car il na pas d'accolade : https://www.php.net/manual/fr/control-s ... oreach.php

https://www.php.net/manual/fr/function.asort.php

Re: Afficher les 2 variables les plus petites

par aviso792 » 09 déc. 2022, 23:07

J'ai repris l'idée de or1 mais je n'affiche pas les 2 premiers suivant l'ordre croissant :(
j'affiche les 2 premiers de la liste dans l'ordre d'affichage
$Tab=array($result_Coef_HtP, $result_Coef_Dt, $result_Coef_Cp, $result_Coef_Ab, $result_Coef_Org, $result_Coef_Main);
asort($Tab);
foreach( $Tab as $value ) 

  //echo $value . '<br />'; 
  echo '<br><br>';
  echo $Tab[0] . '<br />';
  echo $Tab[1] . '<br />'; 
Après mon tri croissant par ASORT() je dois récupérer les 2 premieres valeurs pour les mettre en variables pour un calcul mathématique qui suivra

Re: Afficher les 2 variables les plus petites

par two3d » 09 déc. 2022, 22:31

$i = 0;
foreach($a => $b){
   $i++;
   if($i < 3){
      //tu récupère tes variables
   }
}
Mais le tri via asort me parait plus simple et moins compliqué, tu as essayé ?

La doc est ici : https://www.php.net/manual/fr/

Re: Afficher les 2 variables les plus petites

par or 1 » 09 déc. 2022, 22:30

$Tab[0] et $Tab[1]

Re: Afficher les 2 variables les plus petites

par aviso792 » 09 déc. 2022, 22:18

Merci, j'avance moins vite qu'un escargot, mais j'avance.
Reste à m'arrêter aux 2 premieres varibles ?
$Tab=array($result_Coef_HtP, $result_Coef_Dt, $result_Coef_Cp, $result_Coef_Ab, $result_Coef_Org, $result_Coef_Main);
asort($Tab);
foreach( $Tab as $value ) 
  echo $value . '<br />';

Re: Afficher les 2 variables les plus petites

par two3d » 09 déc. 2022, 22:02

Si tu fais un foreach tu peut itérer une variable (par exemple "$nombre = 0") et t'arrêter quand $nombre == 2

Re: Afficher les 2 variables les plus petites

par aviso792 » 09 déc. 2022, 21:58

Merci mais je cale sur la récupération des 2 premières valeurs
$Tab=array($result_Coef_HtP, $result_Coef_Dt, $result_Coef_Cp, $result_Coef_Ab, $result_Coef_Org, $result_Coef_Main);
asort($Tab);
foreach ($Tab as $key => $val)
{
echo "$key = $val\n";
}
Mon tableau affiche bien dans l'ordre, mais je dois récupérer les 2 premières valeurs du tableau pour un calcul plus tard.

Re: Afficher les 2 variables les plus petites

par or 1 » 09 déc. 2022, 19:27

trier le tableau et prendre les 2 premières valeurs.
https://www.php.net/manual/fr/function.asort.php

Afficher les 2 variables les plus petites

par aviso792 » 09 déc. 2022, 18:26

Bonjour à tous
Je tourne en rond pour afficher 2 variables les plus petites.
J'arrive avec la fonction min() mais il me faut avec les 2 plus petits

Une idée :idea:
$Min1 = min(array ($result_Coef_HtP, $result_Coef_Dt, $result_Coef_Cp, $result_Coef_Ab, $result_Coef_Org, $result_Coef_Main));
echo("plus petit coef:" .$Min1);