eBD:PUSH

Sintaxis:

<eBD:PUSH ARRAY="nombre" ( VALUE="valor" | EXPR="expresión" )/>

Acción:
Añade un valor (o una expresión) al final de un array.

Ejemplo:

<eBD:PUSH ARRAY="lista" VALUE="uno mas!"/>

eBD:POP

Sintaxis:

<eBD:POP ARRAY="nombre" [VAR="nombre"] />

Acción:
Extrae el último valor de un array y lo guarda en una variable (si se le indica con VAR).

Ejemplo:

<eBD:POP ARRAY="lista" VAR="nextdato"/>

eBD:SHIFT

Sintaxis:

<eBD:SHIFT ARRAY="nombre" VAR="nombre" />

Acción:
Extrae el primer valor de un array y lo guarda en una variable (VAR).

Ejemplo:

<eBD:SHIFT ARRAY="lista" VAR="nextdato"/>

eBD:UNSHIFT

Sintaxis:

<eBD:UNSHIFT ARRAY="nombre" ( VALUE="valor" | EXPR="expresión") />

Acción:
Añade un valor (o una expresión) al principio de un array.

Ejemplo:

<eBD:UNSHIFT ARRAY="lista" VALUE="nuevo dato"/>

#eBD:SORT

Sintaxis:

<eBD:SORT ARRAY="nombre" [CMP="string"]/>

Acción:
Reordena alfabéticamente un array.

Los métodos de ordenación pueden ser:

$a cmp $b: ordena alfabéticamente
$b cmp $a: ordena inversamente
$a <=> $b: ordena números de menor a mayor
$a cmp $b: ordena números de mayor a menor

Ejemplo:

comparacion alfabética, ascendente: <eBD:SORT ARRAY="lista" CMP="$a cmp $b"/>
comparación numérica, descendente: <eBD:SORT ARRAY="lista" CMP="$b <=> $a"/>
comparación alfabetica por el campo "nombre", en una lista de hashes: <eBD:SORT ARRAY="lista" CMP="$a->{nombre} cmp $b->{nombre}"/>

eBD:INDEXOF

Sintaxis:

<eBD:INDEXOF ARRAY="varname" VALUE="value" VAR="varname"/>

Acción:
Obtiene la posicion del valor "value" dentro del array "varname". Si el elemento no se encuentra en el array, devuelve undef.

Ejemplo:

<ebd:indexof array="lista" value="uno" var="i"/>
<ebd:if expr="#[eBDUtil.de¬ned($i)]">
el elemento si que esta y la posicion en el array es
<ebd:out value="$i"/>
</ebd:if>

#eBD:KEYS

Sintaxis:

<eBD:KEYS HASH="nombre" ARRAY="nombre" />

Acción:
Extrae la lista de claves de un hash y las guarda en el array.

Ejemplo:

<eBD:KEYS HASH="datos" ARRAY="claves"/>

#eBD:JOIN

Sintaxis:

<eBD:JOIN ( ARRAY="nombre" | HASH="nombre" | ARRAY1="nombre1" ARRAY2="nombre2") VAR="nombre" [CHAR="valor"] />

Acción:
Concatena todos los valores del ARRAY (o los pares clave/valor del HASH), intercalando el carácter CHAR entre ellos, y lo guarda en la variable VAR. En el caso de usar los parámetros ARRAY1 y ARRAY2, devuelve un array con la union de todos los elementos de los 2 arrays.

Ejemplo:

<eBD:JOIN ARRAY="claves" VAR="result" CHAR=","/>

#eBD:SPLIT

Sintaxis:

<eBD:SPLIT VALUE="valor" (ARRAY="nombre" | HASH="nombre") CHAR="valor" [LIMIT="n"] />

Acción:
Divide el valor en trozos separados por el carácter CHAR, y lo guarda en el ARRAY o el HASH. Si se usa HASH, los trozos generados se agruparán por parejas clave/valor. Si se define LIMIT="n", sólo se dividirá n veces.

Ejemplo:

<eBD:SPLIT ARRAY="claves" VALUE="result" CHAR=","/>