code: public function addCol($arr_col)
      {
          if (isset($this->arr[0]) && (count($this->arr[0]) == $this->size->cols)) {
              throw new \OutOfRangeException(sprintf('You cannot add another column! Max number of columns is %d', $this->size->cols));
          }
  
          if (count($arr_col) != $this->size->rows) {
              throw new \InvalidArgumentException('New column must have same amout of rows than previous columns.');
          }
  
          $arr_col = array_values($arr_col); //to be sure to have index 0, 1, 2…
  
          foreach ($arr_col as $k => $v) {
              $this->arr[$k][] = $arr_col[$k];
          }
  
          return $this;
      }
docs: Adds a column to populate step by step the matrix
  
  @throw \OutOfRangeException If this is called and the number of columns is full.
  @throw \InvalidArgumentException If colmun has not the same number of rows that previous one.
  @param  array  $arr_col Data to add
  @access public
  @return Matrix