Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/11/2010, 17:41
IEKK
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 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... :(