Texto alrevez en php

A

Ayuda,
como hago para desarrollar en php un texto que me lo cambie de forma inversa.
Pero que sea a travez for (ya que con strrev no quiero) y que tampoco sea con una funcion ya que con eso no lo he visto con el profesor.

es un poco parecido a este pero sin la funcion lo quiero (osea de otra forma lo quiero)

$String = "Hola Mundo";

function InvertStr($String){

    for($i=strlen($String);$i>0;$i--)

        $NewString .= substr($String,$i-1,1);

    return $NewString;
}

Print InvertStr($String);

Si me ayudarian se los agradeceria mucho

SiCk

Pues no sé, hay funciones nativas, con split/implode sería lo más eficiente...

$hola = "hola que tal";
$hola = str_split($hola);
$hola = array_reverse($hola);
$hola = implode("", $hola);
2 respuestas
A

gracias :), pero tiene que ser con for :(

1 respuesta
B

Mediavida haciendo los deberes desde 2003

1
A

xD es que si me hurge esa tarea ayudenmeeee xDXD

1 respuesta
Troyer

#2 strrev(''Pene") ->http://php.net/manual/es/function.strrev.php

Es MUY fácil y si alguien te hace los deberes serás un inútil si no consigues hacerlo por ti mismo en el futuro, así que no te duermas en clase.

A

xD lose, pero un poco de ayuda de vez en cuando no hace mal, vas a decir que nunca te ayudaron en la vida

1 respuesta
Nucklear

#7 Pues si lo quieres hacer con un for solo tienes que hacer las dos primeras lineas de #2 y recorrer el array inversamente concatenando el string, no tiene mayor complicación...

#5 hurge...alrevez...tambien puedes pedir ayuda para escribir antes de programar, madre mia...

A

...

DaRkViRuZ
$palabra = "hola";
$palabraReves= "";

for($i=strlen($palabra);$i>=0;$i--){
     $palabraReves.=substr($palabra,$i,1);
}

echo $palabraReves;

algo así no ?

1 respuesta
Kr4n3oK

Sin saber mucho de PHP, esto puede solucionarlo, creo.

<html>
<head>
<title>My title</title>
</head>
<body>
</body>
</html>

No, enserio. Recorrelo hacia atrás.

1 respuesta
A

#10 Gracias justo lo que ocupaba. Te lo agradezco mucho :)

Ranthas

Si observan atentamente a izquierda y derecha, verán el futuro de esta profesión.

4
A

Gracias por estar pendiente, enserio, enfocate en lo tuyo y despues me criticas :).

1
X-Crim

Antes de superarme intenta imitarme o es al revez?

MrBigel

#11 Típico postdata para que no te cierren el post y tu gracia siga intacta :clint:

Amazon

#3

for ($i = 0; $i < 1; $i++){
$hola = "hola que tal";
$hola = str_split($hola);
$hola = array_reverse($hola);
$hola = implode("", $hola);
}
8 1 respuesta
AikonCWD

#17 Casi me caigo de la silla xD

Wasd

#1 El sector de la programación es uno de los que más requieren "saber sacarse las castañas del fuego".
No sé si tienes pensado trabajar de esto o si es un ejercicio de clase que te han puesto y no quieres perder tiempo en pensar como se hace.

Si es el primer caso, te recomiendo que vayas pensando en cambiar un poco el chip.

1
A

Lo sé, vengo empezando en este mundo de php, estaba desesperado pero voy a buscar mas por mi mismo. Y ver mas videos y cosas de php para aprender mas. Gracias por el consejo siempre lo mantendre en cuenta.

1
guner

1 línea

for ($i = 0, $rev = null; $i <= $l = strlen($str); $i++) $rev .= $str{$l-$i};

Edit: Ya lo habían puesto más corto añadiendo y recorriendo hacia atrás, shiet. Bueno, pues acortando además con braces:

for ($i = strlen($str), $rev = null; $i >= 0; $i--) $rev .= $str{$i};
1 1 respuesta
A

Gracias, interesante tantas formas de hacerlo y ninguna se me paso por la mente (a leer mas se ha dicho).

P

#21

Un detalle, tienes que poner en ambas formas
strlen($str)-1

Porque sino apuntas a un índice del array que no existe.

Saludos

2 1 respuesta
Mubris

Aunque te veo sin verdadero interés y respondiendo más por educación que por otra cosa, me arriesgo a aconsejarte que evites la impaciencia y las soluciones concretas y te centres en pensar.

En la práctica te puede parecer que hay cien mil formas de resolver lo mismo pero lo importante aquí es la solución de tu cabeza y ahí dentro sólo tienen cabida dos. Y sería una si el ejercicio estuviese bien especificado.

  1. Invertir una cadena: intercambiar primera letra con última, segunda con penúltima, tercera con antepenúltima, etc... (en cada iteración del bucle la pareja es i y longitud-i).
  2. Crear una cadena inversa de otra: partiendo de una nueva cadena vacía insertar una a una las letras de la antigua en orden inverso.

Si se te había ocurrido alguna de las dos cosas quédate tranquilo porque ya tenías lo más importante, lo demás son detalles de implementación.

Siendo novato supongo que a tu profesor le dará igual, pero sí es importante que te des cuenta de que son dos problemas distintos. Para invertir un texto no hace falta duplicarlo. Si necesitas conservar el texto antiguo, la primera solución es imposible, si no, la segunda es ineficiente. Algo es ineficiente cuando hace más trabajo del necesario. Si quieres invertir "Hola mundo" es un matiz tonto. Si quieres invertir todos los posts de mediavida desde hace 10 años y tu solución es innecesariamente la segunda empiezas a tener un problema.

1
A

Creeme que estoy interesado, seguire tus consejos y a tener mas claros los problemas. Gracias :)

guner

#23 O un < : ) pero sí, tenías razón.

Foxandxss

Yo te voy a dar un buen consejo.

Los problemas son cada vez más complicados, todos van un paso mas allá y se complican un poquito más. El pedir que te solucionen un problema como hoy aquí, no te va a ayudar para nada, porque si no puedes con este, no podrás con el siguiente que será un poco más complicado que el actual y terminarás como otros muchos que dicen "ah, pero es que programar es muy dificil" y realmente significa "no me esforcé cuanto tocaba y ya me pilló el tren"

Usuarios habituales