code: public function addRow(array $arr_row)
      {
          if (count($this->arr) == $this->size->rows) {
              throw new \OutOfRangeException(sprintf('You cannot add another row! Max number of rows is %d', $this->size->rows));
          }
  
          if (count($arr_row) != $this->size->cols) {
              throw new \InvalidArgumentException('New row must have same amout of columns than defined into the size matrix');
          }
  
          $this->arr[] = $arr_row;
  
          return $this;
      }
docs: Adds a row to populate step by step the matrix
  
  @throw \OutOfRangeException If this is called and the number of rows is full.
  @throw \InvalidArgumentException If row has not the same number of column that previous one.
  @param  array  $arr_row Data to add
  @access public
  @return Matrix