Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?php

namespace Box\Spout\Common\Entity;

use Box\Spout\Common\Entity\Style\Style;

class Row
{
    /**
     * The cells in this row
     * @var Cell[]
     */
    protected $cells = [];

    /**
     * The row style
     * @var Style
     */
    protected $style;

    /**
     * Row constructor.
     * @param Cell[] $cells
     * @param Style|null $style
     */
    public function __construct(array $cells, $style)
    {
        $this
            ->setCells($cells)
            ->setStyle($style);
    }

    /**
     * @return Cell[] $cells
     */
    public function getCells()
    {
        return $this->cells;
    }

    /**
     * @param Cell[] $cells
     * @return Row
     */
    public function setCells(array $cells)
    {
        $this->cells = [];
        foreach ($cells as $cell) {
            $this->addCell($cell);
        }

        return $this;
    }

    /**
     * @param Cell $cell
     * @param int $cellIndex
     * @return Row
     */
    public function setCellAtIndex(Cell $cell, $cellIndex)
    {
        $this->cells[$cellIndex] = $cell;

        return $this;
    }

    /**
     * @param int $cellIndex
     * @return Cell|null
     */
    public function getCellAtIndex($cellIndex)
    {
< return isset($this->cells[$cellIndex]) ? $this->cells[$cellIndex] : null;
> return $this->cells[$cellIndex] ?? null;
} /** * @param Cell $cell * @return Row */ public function addCell(Cell $cell) { $this->cells[] = $cell; return $this; } /** * @return int */ public function getNumCells() {
< return count($this->cells);
> // When using "setCellAtIndex", it's possible to > // have "$this->cells" contain holes. > if (empty($this->cells)) { > return 0; > } > > return \max(\array_keys($this->cells)) + 1;
} /** * @return Style */ public function getStyle() { return $this->style; } /** * @param Style|null $style * @return Row */ public function setStyle($style) { $this->style = $style ?: new Style(); return $this; } /** * @return array The row values, as array */ public function toArray() {
< return array_map(function (Cell $cell) {
> return \array_map(function (Cell $cell) {
return $cell->getValue(); }, $this->cells); } }