\XgapTableArray

Provee métodos para operar con arrays tratándolos como tablas de datos.

La estructura que estos métodos esperan es un array que contiene las filas, donde cada fila es un array que contiene las columnas. Las claves de los arrays internos corresponden a los nombres de las columnas.

Ejemplos:

La tabla:

 1    2    3
-------------
'a'  'b'  'c'
'd'       'f'
     'h'
     'k'  'l'
'm'       'o'

se puede representar como:

  • a array( array(1 => 'a', 2 => 'b', 3 => 'c'), array(1 => 'd', 2 => null, 3 => 'f'), array(1 => null, 2 => 'h', 3 => null), array(1 => 'm', 2 => null, 3 => 'o') )
  • b array( array(1 => 'a', 2 => 'b', 3 => 'c'), array(1 => 'd', 3 => 'f'), array( 2 => 'h' ), array(1 => 'm', 3 => 'o') )

La tabla:

'a'  'b'  'c'  'd'  'e'
-----------------------
 0         2    3    4
           7    8      

se puede representar como:

  • a array( array('a' => 0, 'b' => null, 'c' => 2, 'd' => 3, 'e' => 4), array('a' => null, 'b' => null, 'c' => 7, 'd' => 8, 'e' => null) )
  • b array( array('a' => 0, 'c' => 2, 'd' => 3, 'e' => 4), array('a' => null, 'c' => 7, 'd' => 8) )

Summary

Methods
Properties
Constants
columnNamesFromFirstRow()
columnNamesFromAllRows()
indexRowsByColumn()
deleteColumn()
filterColumns()
filterRows()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

columnNamesFromFirstRow()

columnNamesFromFirstRow(array  $table) : array

Retorna los nombres de las columnas, tomando la primer fila como modelo para obtener los nombres e ignorando las otras filas.

Parameters

array $table

la tabla

Returns

array

columnNamesFromAllRows()

columnNamesFromAllRows(array  $table) : array

Retorna los nombres de las columnas, revisando todas las filas para obtenerlos.

Es útil para tablas donde las filas pueden no contener todas las columnas.

Ejemplo: XgapTableArray::columnNamesFromAllRows(array( array('a' => 1), array('b' => 2), array('b' => 3, 'c' => 4) )) == array('a', 'b', 'c')

Parameters

array $table

la tabla

Returns

array

indexRowsByColumn()

indexRowsByColumn(array  $table, integer|string  $column, boolean  $delete_column = false) : array

Devuelve una copia de la tabla <var>$tabla</var>, pero con los índices de las filas dados por los valores de una de las columnas.

Tener en cuenta que:

  • Si la columna indicada no contiene valores únicos, la tabla resultado sólo va a contener la última filas de cada grupo de valores repetidos.
  • Si la columna indicada contiene valores que no se puedan usar como clave en un array, la invocación va a producir un error.
  • Si existen filas que no contengan la columna indicada, se eliminan del resultado.

Ejemplos: $table = array( array('a' => 'v'), array('a' => 'w'), array('a' => 'x', 'b' => 42), array('a' => 'y', 'b' => 12), array('a' => 'z', 'b' => 42), ); XgapTableArray::indexRowsByColumn($table, 'a', true) == array( 'v' => array(), 'w' => array(), 'x' => array('b' => 42), 'y' => array('b' => 12), 'z' => array('b' => 42) ); XgapTableArray::indexRowsByColumn($table, 'b', false) == array( 12 => array('a' => 'y', 'b' => 12), 42 => array('a' => 'z', 'b' => 42) );

Parameters

array $table

la tabla original

integer|string $column

columna a usar para los índices de las filas

boolean $delete_column

¿se debe eliminar del resultado la columna usada como índice?

Returns

array

deleteColumn()

deleteColumn(array  $table, integer|string  $column) : array

Retorna una copia de la tabla <var>$tabla</var>, sin la columna <var>$columna</var>.

Parameters

array $table

la tabla

integer|string $column

la columna a eliminar

Returns

array

filterColumns()

filterColumns(array  $table, array  $columns) : array

Retorna una nueva tabla copia de la original que contiene sólo las columnas dadas por <var>$columns</var>.

Parameters

array $table

la tabla a filtrar

array $columns

lista de columnas a mantener; por ejemplo: $columns = array('col1', 'col4')

Returns

array

filterRows()

filterRows(  $table, callback  $filter_func) : array

Retorna una nueva tabla copia de la original, con sus filas filtradas de acuerdo a un callback.

Parameters

$table

la tabla a filtrar

callback $filter_func

la función a usar para determinar si una fila debe estar en el resultado o no; recibe la fila y debe retornar true si ésta se debe incluir en el resultado

Returns

array