Mayor valor de array

  • Autor Autor xmatias
  • Fecha de inicio Fecha de inicio
X

xmatias

Gamma
Verificación en dos pasos activada
Hola betas, necesito un poco de ayuda con esto... tengo un array de la siguiente forma:

Insertar CODE, HTML o PHP:
Array
(
    [0] => Array
        (
            [nombre] => Matias
            [numero] => 10094
        )

    [1] => Array
        (
            [nombre] => Foro
            [numero] => 943
        )

    [2] => Array
        (
            [nombre] => Beta
            [numero] => 2235
        )
)

Lo que necesito es obtener los 3 valores mas alto según su numero.

De ante mano gracias.
 
Fácil, si necesitas el número más alto usas la función max de php PHP: max - Manual

Un ejemplo sería:

PHP:
<?php

	$numeros = array(69,666,1337,1,5 );
	$lel = max($numeros);
	
	echo $lel;

?>

Dando como resultado 1337, ya que es el número más grande del array:
L5g19HX.png
 
Fácil, si necesitas el número más alto usas la función max de php PHP: max - Manual

Un ejemplo sería:

PHP:
<?php

	$numeros = array(69,666,1337,1,5 );
	$lel = max($numeros);
	
	echo $lel;

?>

Dando como resultado 1337, ya que es el número más grande del array:
L5g19HX.png

Lo sé, pero mi array no es solo de datos numéricos.
 
Podés poner el código?

PHP:
$datos= array();
	foreach ($datos as $c) {
		$nombre = $c['name'];
		$numero = $c['numero'];
		$datos[] = array('nombre' => $nombre, 'numero' => $numero );
	}

Necesito el valor mayour del array datos según su valor numérico (numero)
 
Hola. Esto puede servirte. Puede mejorarse, lo hice rápidamente:

PHP:
$datos=array(
array('nombre'=>'Matias','numero'=>1000),
array('nombre'=>'Juan','numero'=>10),
array('nombre'=>'Lucas','numero'=>500)
);

$datos_aux=array();
$datos_ordenado=array();

//Sin ordenar
print_r($datos);

foreach($datos as $idg=>$g){$datos_aux[$idg]=$g['numero'];}
arsort($datos_aux);
foreach($datos_aux as $idg=>$g){
array_push($datos_ordenado,$datos[$idg]);
}

//Ordenado de mayor a menor
print_r($datos_ordenado);

$datos_ordenado=array_slice($datos_ordenado,0,2);

//Ordenado de mayor a menor, sólo los 2 primeros
print_r($datos_ordenado);

Saludos!
 
Muchas gracias, solucionado 🙂
 
Atrás
Arriba