<?php

/**
 * Classe ArrayHandler para manipulação de arrays
 */
class ArrayHandler {
  private $key;
  private $array;
  private $current_row;
  private $index;

  /**
   * 
   */
  public function __construct($key, $value) {
    $this->key = $key;
    $this->array = $value;
    $this->index = 0;
  }

  /**
   * Retorna verdadeiro/falso se existe linhas a serem percorridas de um array
   * 
   * @param string $key Chave associada ao array.
   * @param int|null $id ID da postagem vinculado ao array.
   * @return bool Retorno de true/false
   */
  public function have_rows() {
    return count($this->array) > 0;
  }

  /**
   * Atualiza a linha atual.
   */
  public function the_row() {
    $array = array_shift($this->array);
    $this->current_row = $array;
    $this->index++;
  }

  /**
   * Retorna um valor do array
   */
  public function get_field($key) {
    return isset($this->current_row[$key]) ? $this->current_row[$key] : "";
  }

  /**
   * Retorna o index atual do array percorrido
   */
  public function get_index() {
    return $this->index;
  }
}
