Foros del Web » Programando para Internet » PHP »

¿existe Función para intercambiar 2 filas de un array?

Estas en el tema de ¿existe Función para intercambiar 2 filas de un array? en el foro de PHP en Foros del Web. Mi intención es intercambiar 2 filas consecutivas, a poder ser con una función nativa de PHP, gracias Código PHP:         $filas []= $filas [ $argumentos [ ...
  #1 (permalink)  
Antiguo 22/02/2015, 21:42
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
¿existe Función para intercambiar 2 filas de un array?

Mi intención es intercambiar 2 filas consecutivas, a poder ser con una función nativa de PHP, gracias

Código PHP:
        $filas[]=$filas[$argumentos[0]-1];
        
$filas[$argumentos[0]-1]=$filas[$argumentos[0]];
        
$filas[$argumentos[0]]=array_pop($filas); 
Código PHP:
FUNCION-NATIVA-INTERCAMBIO($arrray,ElecciónA,ElecciónB); 
Busco algo mas simpliciado, pero no se si existe:
Código PHP:
$filas=array_replace($filas, array($argumentos[0]=>$filas[$argumentos[0]-1],$argumentos[0]-1=>$filas[$argumentos[0]])); 

Última edición por quico5; 22/02/2015 a las 22:23
  #2 (permalink)  
Antiguo 22/02/2015, 22:33
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: ¿existe Función para intercambiar 2 filas de un array?

Código PHP:
Ver original
  1. list($array["A"], $array["B"]) = [$array["B"], $array["A"]];

o en una función:

Código PHP:
Ver original
  1. function swap(&$x,&$y)  { list($x, $y) = [$y, $x]; }

Lo mas rápido en cuestiones de rendimiento es usar una tercer variable.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 23/02/2015, 09:30
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: ¿existe Función para intercambiar 2 filas de un array?

Por ahora lo he apañado asi
Código PHP:
array_splice($filas,$argumentos[0],2,array($filas[$argumentos[0]+1],$filas[$argumentos[0]])); 

Última edición por quico5; 23/02/2015 a las 10:12

Etiquetas: filas, intercambiar
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:36.