Cita:
Iniciado por santris 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<?php
//Ejemplo:
$cad="abcdefghijkl";
$aux=""; $aux2="";
for($i=0;$i<strlen($cad);$i++) ($i%2!=0)?$aux.=$cad[$i] : $aux2.=$cad[$i];
$cad="";
for($i=0;$i<strlen($aux2);$i++) {
$cad.= $aux[$i];
//comprobar porque la cadena $aux2 si es mayor que el indice de $aux (cuando la cadena es impar)
$cad.=isset($aux2[$i])?
$aux2[$i]:''; }
echo $cad;
?>
un saludo