Código de PHP - Invertir cadena de texto o valores de un array (recursividad)

Imágen de perfil
Val: 2.944
Oro
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Invertir cadena de texto o valores de un array (recursividad)gráfica de visualizaciones


PHP

Publicado el 23 de Noviembre del 2016 por Kip (28 códigos)
3.869 visualizaciones desde el 23 de Noviembre del 2016
Función que invierte los valores de un array sea este multidimensional o unidimensional y asi mismo es posible invertir una simple cadena de texto, ejemplos de uso:

Invertir cadena de texto:
1
2
$cadena = 'la casa azul';
echo invertir($cadena);


Resultado:
1
luza asac al

Invertir valores de un array
1
2
$array = array('prueba1', 'prueba2');
print_r(invertir($array));

Resultado:
1
2
3
4
5
Array
(
    [0] => 1abeurp
    [1] => 2abeurp
)

Ahora intentemos con un array multidimensional.

Invertir valores de un array multidimensional:
1
2
$array = array('KEY-A' => 'prueba1', 'prueba2', array( 'KEY-B' => 'prueba3', array('prueba4')));
print_r(invertir($array));

Resultado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
    [0] => 1abeurp
    [1] => 2abeurp
    [2] => Array
        (
            [0] => 3abeurp
            [1] => Array
                (
                    [0] => 4abeurp
                )
 
        )
 
)

EXTRA:

Si tienes un array con indices y deseas mantenerlos, puedes enviarle como segundo argumento un TRUE a la funcion y mantendra los indices, ejemplo con el array anterior:

Invertir array manteniendo sus indices/claves
1
2
$array = array('KEY-A' => 'prueba1', 'prueba2', array( 'KEY-B' => 'prueba3', array('prueba4')));
print_r(invertir($array, TRUE));

Resultado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Array
(
    [KEY-A] => 1abeurp
    [0] => 2abeurp
    [1] => Array
        (
            [KEY-B] => 3abeurp
            [0] => Array
                (
                    [0] => 4abeurp
                )
 
        )
 
)

INSPIRADO EN EL CODIGO DE XVE
http://www.lawebdelprogramador.com/codigo/PHP/3281-Funcion-recursiva-para-invertir-un-texto.html

Espero les sirva.

Requerimientos

PHP >= 5

1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 30 de Noviembre del 2016 (Publicado el 23 de Noviembre del 2016)gráfica de visualizaciones de la versión: 1.0
3.870 visualizaciones desde el 23 de Noviembre del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
function invertir($valor, $preserv_k = FALSE) {
	if (!is_array($valor)){
		$n_str_r = '';
		$len = (!function_exists('mb_strlen')) ? strlen($valor) : mb_strlen($valor);
		while ($len-->0) {
			$n_str_r .= $valor[$len];
		}
	} else {
		$n_str_r = array();
		foreach($valor as $k => $v) {
			if (!$preserv_k) {
				$n_str_r[] = invertir($v, $preserv_k);
			} else {
				$n_str_r[$k] = invertir($v, $preserv_k);
			}
		}
	}
	return $n_str_r;
}



Comentarios sobre la versión: 1.0 (1)

Imágen de perfil
23 de Noviembre del 2016
estrellaestrellaestrellaestrellaestrella
Excelente Kip!!!
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3767