Foros del Web » Programando para Internet » PHP »

crear un array y ordenar segun su valor

Estas en el tema de crear un array y ordenar segun su valor en el foro de PHP en Foros del Web. Como puedo cargar un array con dos valores por indice algo como esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $array = array ( "valor1" => ...
  #1 (permalink)  
Antiguo 03/12/2013, 16:16
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
crear un array y ordenar segun su valor

Como puedo cargar un array con dos valores por indice algo como esto:

Código PHP:
Ver original
  1. $array=array("valor1"=>2,"valor2"=>5,"valor3"=>4);

partiendo de un array necesitaria ordenarlos segun el valor del parametro valor1,valor2,valor3.

Aunque necesito mostrar en pantalla algo asin:

valores
valor2
valor3
valor1

numero
5
4
2

No se si se entiendo lo que necesito, no se si con este tipo de array es posible esto, alguna ayuda?
saludos.
  #2 (permalink)  
Antiguo 03/12/2013, 16:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: crear un array y ordenar segun su valor

Claro que es posible, consulta en el manual sobre funciones de ordenamiento de arrays.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/12/2013, 16:36
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: crear un array y ordenar segun su valor

Hola si estube mirando el manual y ordenarlo no hay problema lo que no se o no encuentro es como mostrar en pantalla el parametro por un lado y el valor por otro.

de esta forma funciona pero no se si es la mejor.

Código PHP:
Ver original
  1. $array=array(array("valor1",2),array("valor2",5),array("valor3",4));
  2.     echo$array[0][0];
  3.     echo$array[0][1];

no se si esto se hace asin.

Última edición por roboty; 03/12/2013 a las 16:54
  #4 (permalink)  
Antiguo 03/12/2013, 17:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: crear un array y ordenar segun su valor

Sigo sin entender la dificultad, puedes obtener las claves con array_keys() por un lado, y con array_values() únicamente los valores.

Con eso ya tendrías ambos "lados" por separado, de ahí sólo te restaría imprimir los valores donde se te antoje.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 03/12/2013, 17:54
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: crear un array y ordenar segun su valor

Intento ordenar este array con asort pero no funciona:

Código PHP:
Ver original
  1. $array=array(array("valor1",2),array("valor2",5),array("valor3",4));
  2. asort($array);
  3. print_r($array);

pero no me lo ordena segun entiendo me lo ordenaria por el valor, en que fallo?

igual no me sirve utilizar array_keys() y array_values() porque al ordenar segun su valor ya me cambia la clave, o no es asin. Esque quiero ordenar segun su valor pero no cambiar la clave del valor correspondiente.
saludos.

Última edición por roboty; 03/12/2013 a las 18:01
  #6 (permalink)  
Antiguo 03/12/2013, 18:09
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 759
Antigüedad: 11 años, 10 meses
Puntos: 10
Respuesta: crear un array y ordenar segun su valor

aver si entendi lo que quieres hacer

mira aver esto

Ordena por el key
Código PHP:
Ver original
  1. $array = array( "valor1" => 2, "valor2"=> 5, "valor3" => 4);   
  2. asort($array);
  3. foreach ($array as $key => $val) {
  4.    echo "$key = $val"."<br>";
  5. }

Ordena por el valor

Código PHP:
Ver original
  1. $array = array( "valor1" => 2, "valor2"=> 5, "valor3" => 4);    
  2. ksort($array);
  3. foreach ($array as $key => $val) {
  4.    echo "$key = $val"."<br>";
  5. }

Última edición por xoceunder; 03/12/2013 a las 18:17
  #7 (permalink)  
Antiguo 04/12/2013, 04:45
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: crear un array y ordenar segun su valor

Gracias ya me funciono bien un saludo.
  #8 (permalink)  
Antiguo 04/12/2013, 04:55
Avatar de danny_  
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: crear un array y ordenar segun su valor

AsiN es, el bucle foreach te ayuda a a obtener la clave=>valor de un array.

Saludos!!
__________________
http://www.danielcarvajal.es

Etiquetas: valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.