Foros del Web » Programando para Internet » PHP »

Intercambiar valores..

Estas en el tema de Intercambiar valores.. en el foro de PHP en Foros del Web. Hola,el problema que tengo es el siguiente que me trae loca.. vereis debo de intercambiar el contenido de las posiciones pares con las impares . ...
  #1 (permalink)  
Antiguo 28/11/2010, 16:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Exclamación Intercambiar valores..

Hola,el problema que tengo es el siguiente que me trae loca..

vereis debo de intercambiar el contenido de las posiciones pares con las impares .
la cadena la recibo de un formulario.
lo que tengo de momento es esto:

Código PHP:
Ver original
  1. if(isset($_POST[x])){
  2. $cad=$_POST[texto];
  3. trim($cad);
  4. $longitud=strlen($cad);
  5. for($i=1;$i<$longitud;$i++){
  6.         }
  7. if($i%2==0){
  8.         $aux=$cad[$i];
  9.     }
  10.     if($i%2!=0){
  11.         $cad[$i])$aux;
  12.     }
  13. echo $cad;

os agradeceria con mucho karma si me hecharais una mano..gracias
  #2 (permalink)  
Antiguo 28/11/2010, 16:59
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Intercambiar valores..

Hola, mira si te sirve esto:
Código PHP:
<?php
if(isset($_POST['x'])){
  
$cad=$_POST['texto'];
  
$cad=str_split($cad);//separamos la cadena en caracteres en un array  
  
foreach($cad as $key => $value){//recorremos el array
    
if($key'%2'==0)//%2 sin comillas
    
echo "Posición par: $value <br />";
    else
    echo 
"Posición impar: $value <br />";
  }
}
?>
__________________
Tu álbum de cromos online!!
  #3 (permalink)  
Antiguo 28/11/2010, 17:41
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Intercambiar valores..

Cita:
Iniciado por santris Ver Mensaje
Hola, mira si te sirve esto:
Código PHP:
<?php
if(isset($_POST['x'])){
  
$cad=$_POST['texto'];
  
$cad=str_split($cad);//separamos la cadena en caracteres en un array  
  
foreach($cad as $key => $value){//recorremos el array
    
if($key'%2'==0)//%2 sin comillas
    
echo "Posición par: $value <br />";
    else
    echo 
"Posición impar: $value <br />";
  }
}
?>
Pero según lo que yo entendí de su post lo que quiere es intercambiar las pociones pares con las impares. En tu ejemplo solo muestras si es par o impar dicha letra... y eso ya lo tiene ella con su FOR y el ($i%2==0) Sólo le has reducido el código.

De todas formas ¿Nadie se ha dado cuenta que la primera letra no puede ser par? Se sabe que el primer índice de una cadena es 0, pero fuera de la programación la primera letra es la primera, luego es impar, no par. Así que hay que darle la vuelta a la idea, considerando que los %2!=0 son los pares ¡REALES!

Esto es un ejemplo de lo que pienso que preguntas disculpa si entendí mal. Lo que hace es pasar de:

abcdefghijkl --> badcfehgjilk
Código PHP:
Ver original
  1. <?php
  2. //Ejemplo:
  3. $cad="abcdefghijkl";
  4. trim($cad);
  5.  
  6. $aux=""; $aux2="";
  7.  
  8. for($i=0;$i<strlen($cad);$i++)
  9.     ($i%2!=0)?$aux.=$cad[$i] : $aux2.=$cad[$i];
  10.  
  11. $cad="";
  12. for($i=0;$i<strlen($aux2);$i++)
  13. {
  14. $cad.= $aux[$i];
  15. //comprobar porque la cadena $aux2 si es mayor que el indice de  $aux (cuando la cadena es impar)
  16. $cad.=isset($aux2[$i])?$aux2[$i]:'';
  17. }
  18.  
  19. echo $cad;
  20. ?>

un saludo
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Etiquetas: 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 12:45.