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=","/>