protected function methodTable($array, $columns = array())
    {
        if (!\is_array($array)) {
            return $this->dump($array);
        }
        $table = array();
        $keys = $columns ?: $this->debug->methodTable->colKeys($array);
        $headerVals = $keys;
        foreach ($headerVals as $i => $val) {
            if ($val === MethodTable::SCALAR) {
                $headerVals[$i] = 'value';
            }
        }
        \array_unshift($headerVals, '');
        $table[] = $headerVals;
        $classNames = array();
        if ($this->debug->abstracter->isAbstraction($array) && $array['traverseValues']) {
            $array = $array['traverseValues'];
        }
        foreach ($array as $k => $row) {
            $values = $this->debug->methodTable->keyValues($row, $keys, $objInfo);
            foreach ($values as $k2 => $val) {
                if ($val === $this->debug->abstracter->UNDEFINED) {
                    $values[$k2] = null;
                }
            }
            $classNames[] = $objInfo['row']
                ? $objInfo['row']['className']
                : '';
            \array_unshift($values, $k);
            $table[] = \array_values($values);
        }
        if (\array_filter($classNames)) {
            \array_unshift($table[0], '');
            // first col is row key.
            // insert classname after key
            foreach ($classNames as $i => $className) {
                \array_splice($table[$i+1], 1, 0, $className);
            }
        }
        return $table;
    }
protected function methodTable($array, $columns = array())
    {
        if (!\is_array($array)) {
            return $this->dump($array);
        }
        $table = array();
        $keys = $columns ?: $this->debug->methodTable->colKeys($array);
        $headerVals = $keys;
        foreach ($headerVals as $i => $val) {
            if ($val === MethodTable::SCALAR) {
                $headerVals[$i] = 'value';
            }
        }
        \array_unshift($headerVals, '');
        $table[] = $headerVals;
        $classNames = array();
        if ($this->debug->abstracter->isAbstraction($array) && $array['traverseValues']) {
            $array = $array['traverseValues'];
        }
        foreach ($array as $k => $row) {
            $values = $this->debug->methodTable->keyValues($row, $keys, $objInfo);
            foreach ($values as $k2 => $val) {
                if ($val === $this->debug->abstracter->UNDEFINED) {
                    $values[$k2] = null;
                }
            }
            $classNames[] = $objInfo['row']
                ? $objInfo['row']['className']
                : '';
            \array_unshift($values, $k);
            $table[] = \array_values($values);
        }
        if (\array_filter($classNames)) {
            \array_unshift($table[0], '');
            // first col is row key.
            // insert classname after key
            foreach ($classNames as $i => $className) {
                \array_splice($table[$i+1], 1, 0, $className);
            }
        }
        return $table;
    }
protected function methodTable ( $ array , $ columns = array ( ) ) { if ( ! \ is_array ( $ array ) ) { return $ this -> dump ( $ array ) ; } $ table = array ( ) ; $ keys = $ columns ? : $ this -> debug -> methodTable -> colKeys ( $ array ) ; $ headerVals = $ keys ; foreach ( $ headerVals as $ i => $ val ) { if ( $ val === MethodTable :: SCALAR ) { $ headerVals [ $ i ] = 'value' ; } } \ array_unshift ( $ headerVals , '' ) ; $ table [ ] = $ headerVals ; $ classNames = array ( ) ; if ( $ this -> debug -> abstracter -> isAbstraction ( $ array ) && $ array [ 'traverseValues' ] ) { $ array = $ array [ 'traverseValues' ] ; } foreach ( $ array as $ k => $ row ) { $ values = $ this -> debug -> methodTable -> keyValues ( $ row , $ keys , $ objInfo ) ; foreach ( $ values as $ k2 => $ val ) { if ( $ val === $ this -> debug -> abstracter -> UNDEFINED ) { $ values [ $ k2 ] = null ; } } $ classNames [ ] = $ objInfo [ 'row' ] ? $ objInfo [ 'row' ] [ 'className' ] : '' ; \ array_unshift ( $ values , $ k ) ; $ table [ ] = \ array_values ( $ values ) ; } if ( \ array_filter ( $ classNames ) ) { \ array_unshift ( $ table [ 0 ] , '' ) ; // first col is row key. // insert classname after key foreach ( $ classNames as $ i => $ className ) { \ array_splice ( $ table [ $ i + 1 ] , 1 , 0 , $ className ) ; } } return $ table ; }
Build table rows

@param array $array   array to debug
@param array $columns columns to display

@return array
Build table rows