Advertisement
Guest User

Untitled

a guest
Mar 8th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.64 KB | None | 0 0
  1. <?php namespace klmn;
  2.  
  3. class ArrayTransform
  4. {
  5.     private $rows;
  6.  
  7.     public function __construct($rows = array())
  8.     {
  9.         $this->rows = $rows;
  10.     }
  11.  
  12.     public function _rows_by($index_field_name)
  13.     {
  14.         $output = array();
  15.         foreach ( $this->rows as $row )
  16.             $output[$row[$index_field_name]] = $row;
  17.  
  18.         return $output;
  19.     }
  20.  
  21.     public function _rows_by_id()
  22.     {
  23.         return $this->_rows_by('id');
  24.     }
  25.  
  26.     public function _column($field_name)
  27.     {
  28.         $output = array();
  29.         foreach ( $this->rows as $n => $row )
  30.             $output[$n] = $row[$field_name];
  31.  
  32.         return $output;
  33.     }
  34.  
  35.     public function _columns($list = array())
  36.     {
  37.         $output = array();
  38.         foreach ( $this->rows as $n => $row )
  39.         {
  40.             foreach ( $row as $field_name => $value )
  41.             {
  42.                 if ( !$list || in_array($field_name, $list) )
  43.                     $output[$field_name][$n] = $value;
  44.             }
  45.         }
  46.  
  47.         return $output;
  48.     }
  49.  
  50.     public function _cell($field_name)
  51.     {
  52.         if ( $this->rows )
  53.             return $this->rows[0][$field_name];
  54.     }
  55.  
  56.     public function _cells_by($index_field_name, $value_field_name)
  57.     {
  58.         $output = array();
  59.         foreach ( $this->rows as $row )
  60.             $output[$row[$index_field_name]] = $row[$value_field_name];
  61.  
  62.         return $output;
  63.     }
  64.  
  65.     public function _cells_by_id($value_field_name)
  66.     {
  67.         $output = array();
  68.         foreach ( $this->rows as $row )
  69.             $output[$row['id']] = $row[$value_field_name];
  70.  
  71.         return $output;
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement