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

Imágen de perfil
Val: 2.950
Oro
Ha mantenido su posición 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

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 23 de Noviembre del 2016 por kip
2.920 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
2.921 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
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3767