Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Retorno de string en una clase

Estas en el tema de Retorno de string en una clase en el foro de PHP en Foros del Web. Hola a todos!! Tengo una gran duda, y no se en que le estoy pifiando: tengo una pequeña función que traduce un string HEXA y ...
  #1 (permalink)  
Antiguo 12/04/2013, 18:42
Avatar de mauromalmsteen  
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Retorno de string en una clase

Hola a todos!!

Tengo una gran duda, y no se en que le estoy pifiando: tengo una pequeña función que traduce un string HEXA y lo convierte en su respectivo formato ASCII.

Código PHP:
  function hex2str($hex) {
    for(
$i=0;$i<strlen($hex);$i+=2)
    
$str .= chr(hexdec(substr($hex,$i,2)));

    return 
$str;
  }

$cadenahexa "484f4c41204d49204e4f4d425245204553204d4155524f"
hex2str($cadenahexa);

echo 
$cadenahexa
De esta manera, usando la funcion al aire funciona perfectamente. En el ultimo "echo" logra que se vea la cadena traducida:

HOLA MI NOMBRE ES MAURO


Ahora, cuando intento pasar esta función a una clase:

Chardec.php :

Código PHP:
class Chardec  {
         
        public 
$hex;

        public function 
hextostr($hex) {
            for(
$i=0;$i<strlen($this->hex);$i+=2)
            
$str .= chr(hexdec(substr($this->hex,$i,2)));
            return 
$str;            
         }

index.php :

Código PHP:
include 'Chardec.php';

$dato "484f4c41204d49204e4f4d425245204553204d4155524f";
$string = new Chardec();
echo 
$string->hex2str($dato);

echo 
"<pre>";
print_r($string);
echo 
"</pre>"

No me devuelve nada...

Chardec Object
(
[hex] =>
)

Alguna idea en qué le estoy errando??

Muchas gracias
  #2 (permalink)  
Antiguo 12/04/2013, 18:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Retorno de string en una clase

Estás usando una propiedad que no sirve para nada y tienes la variable $str sin definir:

Edito y ese for no es correcto:

Código PHP:
Ver original
  1. class Chardec
  2. {
  3.     public function hex2str($hex) {
  4.         $str = '';
  5.         for ($i = 0, $len = strlen($hex); $i < $len; $i += 2)
  6.             $str .= chr(hexdec(substr($hex, $i, 2)));
  7.         return $str;
  8.     }
  9. }
  10.  
  11. $dato = "484f4c41204d49204e4f4d425245204553204d4155524f";
  12. $string = new Chardec();
  13. echo $string->hex2str($dato);
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 12/04/2013 a las 19:00
  #3 (permalink)  
Antiguo 14/04/2013, 19:19
Avatar de mauromalmsteen  
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Retorno de string en una clase

Muchas gracias Andres!! Ahora me funcionó perfecto

Etiquetas: clase, retorno, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:43.