105 votes

Rechercher la clé / l'index le plus élevé dans un tableau

Comment puis-je obtenir avec PHP la clé / index le plus élevé dans un tableau? Je sais comment le faire pour les valeurs.

Par exemple, dans ce tableau, j'aimerais obtenir "10" comme valeur entière:

 $arr = array( 1 => "A", 10 => "B", 5 => "C" );
 

Je sais comment je pourrais le programmer, mais je me demandais si cela avait également une fonction.

233voto

Gérald Croës Points 1735

Cela devrait bien fonctionner

 $arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));
 

35voto

Fabrizio D'Ammassa Points 3185

Vous pouvez obtenir la clé maximum de cette façon:

 <?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>
 

1voto

Cfreak Points 10831
 $keys = array_keys($arr);
$keys = rsort($keys);

print $keys[0];
 

devrait imprimer "10"

0voto

AllisonC Points 1384

Essayez max (): http://php.net/manual/en/function.max.php Voir le premier commentaire sur cette page

0voto

Rudi Strydom Points 522

Vient d'écrire ceci et fonctionne pour mon but et je pensais le partager.

  • La recherche de tableau trouvera l'index en fonction d'une valeur.
  • En utilisant End, nous lui donnons la valeur de la dernière clé du tableau.

     <?php
    
    /*
     * This will look for the last key of the array
     */
    
        // Given this array  
        $array = array(0=>3218, 1=>3114, 2=>3113); 
    
        // We search for the index of the last array entry 
        $max = array_search( end($array) , $array ); 
    
        // This will return 2 as the max index
        echo $max; 
    
    
    
    /*
     * This will look for the key with the highest value
     */
    
    
        // Given this array  
        $array = array(0=>3218, 1=>3114, 2=>3113); 
    
        // We search for the index of the last array entry 
        $max = array_search( max($array) , $array ); 
    
        // This will return 0 based on the max value
        echo $max; 
    
    
    /*
     * Anther option is to make use of the array keys and then get the max index from the array
     */
    
    
        // Given this array  
        $array = array(0=>3218, 1=>3114, 2=>3113); 
    
        // Get the max of the keys
        $max = max(array_keys($array));
    
        // This will return 2 as the max value
        echo $max; 
    
    ?>
     

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X