Valeur max tableau

Bonjour,

Salut, alors voilà je récupère des données d'une de mes tables sous forme de tableau associatif en php :
- country_value
- value_col
- year_value
J'aimerais récupéré les trois valeurs la ou la valeur de value_col est la plus grande par exemple :

Finland // country_value
7,821 // value_col
2022 // year_value
Denmark
7,636
2022
Iceland
7,557
2022
Switzerland
7,512
2022
Netherlands
7,415
2022

J'aimerais récupérer les trois premier index cars la valeur de value_col est plus grande que toutes les autres valeurs de la colonne value_col

Configuration: Configuration: Windows / Chrome 102.0.0.0

2 réponses

  1. Contributeur
    bonjour,
    as-tu envisagé de trier le tableau?
    1. C'est à dire ?
      Cars le tableau est un tableau assosiatif donc déjà trier non ?
    2. Contributeur
      @anthonyr_25Alors il suffit de prendre les trois premières valeurs, non?
    3. @yg_bela pour l'exemple oui mais si ma valeur la plus haute n'est pas tout en haut sa ne marchera pas..
      Donc la oui il faudrait trier mon tableau, c'est justement sa mon pb
    4. Contributeur
      @anthonyr_25Peut-être faire une recherche "php trier tableau associatif"?
  2. J'ai éssayer sa :
    //$c est mon tableau assosiatif
    $val_col = [];
        
        foreach($c as $key => $row){
            $val_col[$key]=$row['value_col'];
        }
        array_multisort($val_col, SORT_DESC, $c);
    

    il me sort sa :
    Warning: Illegal string offset 'value_col'
    1. Contributeur
      Ton tableau associatif n'a peut-être pas la structure que tu imagines.
    2. @yg_besa voudrais dire qu'il essaie de trier des INT alors que je lui donne des STR ?
    3. Contributeur
      @anthonyr_25L'erreur se produit à quelle ligne?
      Que contient ton tableau?
    4. @yg_beDu coup j'ai réussi mais j'ai pas utiliser ce pourquoi j'ai posé la question, j'ai simplement modifier la requète ^^
      Mais merci beaucoup de ton aide en tout cas