Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: AlbertoBSD en 21 Mayo 2016, 15:29 pm



Título: ¿Representar estructura de C en PHP?
Publicado por: AlbertoBSD en 21 Mayo 2016, 15:29 pm
Muy buen dia.

Estoy tratando de implementar un pequeño programa que hice para hacerlo un servicio WEB... pero no estoy seguro de como aplicarlo en PHP

Tengo la siguiente estrucuta de C

Código
  1. struct temp{
  2. unsigned char *valor;
  3. unsigned int bytes;
  4. };

Mi duda es como implementarlo correctamente en PHP, segun lei lo mas parecido es un clase en PHP

entonces tengo:

Código
  1. <?php
  2. class temp {
  3. public $valor[];
  4. public $bytes;
  5. }
  6. ?>
  7.  

Mi duda es como decir que $valor tiene que ser de X cantidad;

Por ejemplo cuando leeo desde un archivo X cantidad de bytes en $valor puedo saber que $valor tiene X longitud pero no se como hacerlo a mano... esto es

Voy a crear una instanacia de esa clase y al elemento $valor le quier agregar un valor en el primer elemento y posteriormente tal vez le agrege mas. Simplemente lo agrego como

Código
  1. $valor[1] = 200;

He usado arrays pero para este caso no creo que sea lo mas eficiente..


Título: Re: ¿Representar estructura de C en PHP?
Publicado por: xiruko en 21 Mayo 2016, 17:27 pm
Hola,

No te he entendido muy bien, pero si quieres limitar la longitud del array, en PHP no hay gestión de memoria ni nada así como en C, por lo que deberás implementar algún método para insertar valores que verifique la longitud actual antes de añadirle un elemento más. Por ejemplo:

Código
  1. class temp
  2. {
  3.   private $valor = array();
  4.   private $max_longitud = 0;
  5.  
  6.   public function __construct($longitud=0) {
  7.      $this->max_longitud = $longitud;
  8.   }
  9.  
  10.   public add($valor) {
  11.      if (count($this->valor) >= $this->max_longitud) return false;
  12.      $this->valor[] = $valor;
  13.      return true;
  14.   }
  15.  
  16.   public get($indice) {
  17.      if (!isset($this->valor[$indice])) return false;
  18.      return $this->valor[$indice];
  19.   }
  20. }

Saludos!


Título: Re: ¿Representar estructura de C en PHP?
Publicado por: AlbertoBSD en 21 Mayo 2016, 18:00 pm
Excelente muchas gracias es lo que estaba buscando  ;-).

Ya habia empezado algo de codigo y ya con tu respuesta estoy mas seguro de que voy por buen camino..

Saludos!