Data handling

It is possible to process the data from a {tag} before it is used by PAD to construct the output.

This is done by using one of the below options.

dedup, end, first, group, last, page, random, reverse, row, rows, shuffle, slice, sort, splice, start, trim, where

The options run in the order they are written. where keeps the rows a quoted expression holds for, evaluated per row with the row's fields; when the options leave no row at all, the tag shows its @else@ branch. group folds the rows into one occurrence per value of a field, with subtotals - see grouping with subtotals.

<?php

$myArray
= [
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40
];

?>

HTML RESULT
{myArray}                      {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray row  = 10           } {$myArray} {/myArray}
20
{myArray rows = 10           } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20
{myArray rows = 10, page = 2 } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30

HTML RESULT
{myArray}                       {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray start = 10           } {$myArray} {/myArray}
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray end   = 20           } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray start = 10, end = 20 } {$myArray} {/myArray}
20 21 22 23 24 25 26 27 28 29 30

HTML RESULT
{myArray}                         {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray start = -20            } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray end   = -10            } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray start = -20, end = 20  } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30
{myArray start = -20, end = -10 } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30

HTML RESULT
{myArray}                        {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray start =  20, rows = 5 } {$myArray} {/myArray}
30 31 32 33 34
{myArray end   =  10, rows = 5 } {$myArray} {/myArray}
16 17 18 19 20
{myArray start = -20, rows = 5 } {$myArray} {/myArray}
21 22 23 24 25
{myArray end   = -10, rows = 5 } {$myArray} {/myArray}
26 27 28 29 30

HTML RESULT
{myArray}          {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray first}    {$myArray} {/myArray}
11
{myArray first=10} {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20
{myArray last}     {$myArray} {/myArray}
40
{myArray last=10}  {$myArray} {/myArray}
31 32 33 34 35 36 37 38 39 40

HTML RESULT
{myArray}                {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray trim}           {$myArray} {/myArray}
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
{myArray trim=10}        {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30
{myArray trim=10, left}  {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray trim=10, right} {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray trim=10, both}  {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30

HTML RESULT
{myArray}                   {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = 10}       {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20
{myArray splice = 10}       {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = -10}      {$myArray} {/myArray}
31 32 33 34 35 36 37 38 39 40
{myArray splice = -10}      {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray slice  = '10|5'}   {$myArray} {/myArray}
21 22 23 24 25
{myArray splice = '10|5'}   {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '10|-5'}  {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{myArray splice = '10|-5'}  {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40
{myArray slice  = '-20|5'}  {$myArray} {/myArray}
21 22 23 24 25
{myArray splice = '-20|5'}  {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '-20|-5'} {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{myArray splice = '-20|-5'} {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40

HTML RESULT
{myArray}         {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray reverse} {$myArray} {/myArray}
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
{myArray shuffle} {$myArray} {/myArray}
25 31 20 40 36 15 23 18 21 33 14 30 32 19 26 35 13 27 12 22 38 16 39 17 11 37 24 34 28 29
{myArray random}  {$myArray} {/myArray}
23 37 22 38 31 28 21 11 30 15 32 25 13 17 39 36 18 19 40 24 14 34 16 20 33 12 27 26 35 29

HTML RESULT
{myArray}                                {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray random=20}                      {$myArray} {/myArray}
36 30 35 32 27 26 25 18 23 14 24 38 12 34 20 21 31 29 28 19
{myArray random=20, orderly}             {$myArray} {/myArray}
12 14 15 16 20 21 22 24 26 28 29 30 32 33 34 35 36 38 39 40
{myArray random=20, duplicates}          {$myArray} {/myArray}
24 28 24 39 28 19 19 22 38 32 35 18 31 19 22 23 13 18 12 38
{myArray random=20, orderly, duplicates} {$myArray} {/myArray}
12 14 17 18 20 22 25 27 29 29 30 31 31 36 37 37 37 37 38 40

With the 'negative' option, the result is the negative of the handling option.

HTML RESULT
{myArray}                    {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray first=5           } {$myArray} {/myArray}
11 12 13 14 15
{myArray first=5, negative } {$myArray} {/myArray}
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = 10                 } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20
{myArray slice  = 10, negative       } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = 10                 } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = 10, negative       } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = -10                } {$myArray} {/myArray}
31 32 33 34 35 36 37 38 39 40
{myArray slice  = -10, negative      } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray splice = -10                } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
{myArray splice = -10, negative      } {$myArray} {/myArray}
31 32 33 34 35 36 37 38 39 40

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '10|5'             } {$myArray} {/myArray}
21 22 23 24 25
{myArray slice  = '10|5', negative   } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = '10|5'             } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = '10|5', negative   } {$myArray} {/myArray}
21 22 23 24 25

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '10|-5'            } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{myArray slice  = '10|-5', negative  } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40
{myArray splice = '10|-5'            } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40
{myArray splice = '10|-5', negative  } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '-20|5'            } {$myArray} {/myArray}
21 22 23 24 25
{myArray slice  = '-20|5', negative  } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = '-20|5'            } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray splice = '-20|5', negative  } {$myArray} {/myArray}
21 22 23 24 25

HTML RESULT
{myArray}                              {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
{myArray slice  = '-20|-5'           } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{myArray slice  = '-20|-5', negative } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40
{myArray splice = '-20|-5'           } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20 36 37 38 39 40
{myArray splice = '-20|-5', negative } {$myArray} {/myArray}
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

HTML RESULT
{myArray where = '$myArray gt 35'                    } {$myArray} {/myArray}
36 37 38 39 40
{myArray where = '$myArray gt 20 and $myArray lt 24' } {$myArray} {/myArray}
21 22 23
{myArray where = '$myArray gt 20', rows = 3          } {$myArray} {/myArray}
21 22 23
{myArray where = '$myArray gt 20', negative          } {$myArray} {/myArray}
11 12 13 14 15 16 17 18 19 20