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 |
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:
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')
)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:
array(
array('a' => 0, 'b' => null, 'c' => 2, 'd' => 3, 'e' => 4),
array('a' => null, 'b' => null, 'c' => 7, 'd' => 8, 'e' => null)
)array(
array('a' => 0, 'c' => 2, 'd' => 3, 'e' => 4),
array('a' => null, 'c' => 7, 'd' => 8)
)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')
| array | $table | la tabla |
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:
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)
);
| 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? |
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>.
| array | $table | la tabla a filtrar |
| array | $columns | lista de columnas a mantener; por ejemplo: $columns = array('col1', 'col4') |
filterRows( $table, callback $filter_func) : array
Retorna una nueva tabla copia de la original, con sus filas filtradas de acuerdo a un callback.
| $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 |