diff options
| author | Simon Wisselink <wisskid@users.noreply.github.com> | 2024-03-25 13:54:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-25 13:54:02 +0100 |
| commit | 1da30e76e835b2b8d0c8367fc3df0c5c5163688b (patch) | |
| tree | a3260abd92033ccd4bf00399395f3b07086a9ebb /docs | |
| parent | 58348c38ef24611d0fc7d17ce6a15c0dfbc600d8 (diff) | |
| download | smarty-1da30e76e835b2b8d0c8367fc3df0c5c5163688b.tar.gz smarty-1da30e76e835b2b8d0c8367fc3df0c5c5163688b.tar.bz2 smarty-1da30e76e835b2b8d0c8367fc3df0c5c5163688b.zip | |
Documented support for `is in`, added support for `is not in`. (#955)
* Documented support for `is in`, added support for `is not in`.
Fixes #937
* minor docs improvement
Diffstat (limited to 'docs')
3 files changed, 28 insertions, 51 deletions
diff --git a/docs/designers/language-basic-syntax/language-syntax-operators.md b/docs/designers/language-basic-syntax/language-syntax-operators.md index 98eff076..98a56538 100644 --- a/docs/designers/language-basic-syntax/language-syntax-operators.md +++ b/docs/designers/language-basic-syntax/language-syntax-operators.md @@ -27,6 +27,30 @@ Various basic operators can be applied directly to variable values. > complex, it may be a good idea to move the bits that do not deal > explicitly with presentation to PHP by way of plugins or modifiers. +## List +The following is a list of recognized operators, which must be +separated from surrounding elements by spaces. Note that items listed in +\[brackets\] are optional. PHP equivalents are shown where applicable. + +| Operator | Alternates | Syntax Example | Meaning | PHP Equivalent | +|--------------------|------------|----------------------|--------------------------------|--------------------| +| == | eq | $a eq $b | equals | == | +| != | ne, neq | $a neq $b | not equals | != | +| > | gt | $a gt $b | greater than | > | +| < | lt | $a lt $b | less than | < | +| >= | gte, ge | $a ge $b | greater than or equal | >= | +| <= | lte, le | $a le $b | less than or equal | <= | +| === | | $a === 0 | check for identity | === | +| ! | not | not $a | negation (unary) | ! | +| % | mod | $a mod $b | modulo | % | +| is \[not\] div by | | $a is not div by 4 | divisible by | $a % $b == 0 | +| is \[not\] even | | $a is not even | \[not\] an even number (unary) | $a % 2 == 0 | +| is \[not\] even by | | $a is not even by $b | grouping level \[not\] even | ($a / $b) % 2 == 0 | +| is \[not\] odd | | $a is not odd | \[not\] an odd number (unary) | $a % 2 != 0 | +| is \[not\] odd by | | $a is not odd by $b | \[not\] an odd grouping | ($a / $b) % 2 != 0 | +| is in | | $a is in $b | exists in array | in_array($a, $b) | +| is \[not\] in | | $a is not in $b | does not exist in array | !in_array($a, $b) | + ## Ternary You can use the `?:` (or ternary) operator to test one expression and present the value of the second or third expression, based on the result of the test. diff --git a/docs/designers/language-builtin-functions/language-function-if.md b/docs/designers/language-builtin-functions/language-function-if.md index 1372ea58..eb00cfda 100644 --- a/docs/designers/language-builtin-functions/language-function-if.md +++ b/docs/designers/language-builtin-functions/language-function-if.md @@ -3,32 +3,8 @@ `{if}` statements in Smarty have much the same flexibility as PHP [if](https://www.php.net/if) statements, with a few added features for the template engine. Every `{if}` must be paired with a matching `{/if}`. -`{else}` and `{elseif}` are also permitted. All PHP conditionals and -functions are recognized, such as *\|\|*, *or*, *&&*, *and*, -*is_array()*, etc. - -The following is a list of recognized qualifiers, which must be -separated from surrounding elements by spaces. Note that items listed in -\[brackets\] are optional. PHP equivalents are shown where applicable. - -## Qualifiers - -| Qualifier | Alternates | Syntax Example | Meaning | PHP Equivalent | -|--------------------|------------|----------------------|--------------------------------|--------------------| -| == | eq | $a eq $b | equals | == | -| != | ne, neq | $a neq $b | not equals | != | -| > | gt | $a gt $b | greater than | > | -| < | lt | $a lt $b | less than | < | -| >= | gte, ge | $a ge $b | greater than or equal | >= | -| <= | lte, le | $a le $b | less than or equal | <= | -| === | | $a === 0 | check for identity | === | -| ! | not | not $a | negation (unary) | ! | -| % | mod | $a mod $b | modulo | % | -| is \[not\] div by | | $a is not div by 4 | divisible by | $a % $b == 0 | -| is \[not\] even | | $a is not even | \[not\] an even number (unary) | $a % 2 == 0 | -| is \[not\] even by | | $a is not even by $b | grouping level \[not\] even | ($a / $b) % 2 == 0 | -| is \[not\] odd | | $a is not odd | \[not\] an odd number (unary) | $a % 2 != 0 | -| is \[not\] odd by | | $a is not odd by $b | \[not\] an odd grouping | ($a / $b) % 2 != 0 | +`{else}` and `{elseif}` are also permitted. All [operators](../language-basic-syntax/language-syntax-operators.md) are recognized, such as *==*, +*\|\|*, *or*, *&&*, *and*, etc and you can use modifiers as functions, such as *is_array()*. ## Examples ```smarty diff --git a/docs/designers/language-builtin-functions/language-function-while.md b/docs/designers/language-builtin-functions/language-function-while.md index 13eaef9b..d0a4b2f3 100644 --- a/docs/designers/language-builtin-functions/language-function-while.md +++ b/docs/designers/language-builtin-functions/language-function-while.md @@ -3,31 +3,8 @@ `{while}` loops in Smarty have much the same flexibility as PHP [while](https://www.php.net/while) statements, with a few added features for the template engine. Every `{while}` must be paired with a matching -`{/while}`. All PHP conditionals and functions are recognized, such as -*\|\|*, *or*, *&&*, *and*, *is_array()*, etc. - -The following is a list of recognized qualifiers, which must be -separated from surrounding elements by spaces. Note that items listed in -\[brackets\] are optional. PHP equivalents are shown where applicable. - -## Qualifiers - -| Qualifier | Alternates | Syntax Example | Meaning | PHP Equivalent | -|--------------------|------------|----------------------|--------------------------------|--------------------| -| == | eq | $a eq $b | equals | == | -| != | ne, neq | $a neq $b | not equals | != | -| > | gt | $a gt $b | greater than | > | -| < | lt | $a lt $b | less than | < | -| >= | gte, ge | $a ge $b | greater than or equal | >= | -| <= | lte, le | $a le $b | less than or equal | <= | -| === | | $a === 0 | check for identity | === | -| ! | not | not $a | negation (unary) | ! | -| % | mod | $a mod $b | modulo | % | -| is \[not\] div by | | $a is not div by 4 | divisible by | $a % $b == 0 | -| is \[not\] even | | $a is not even | \[not\] an even number (unary) | $a % 2 == 0 | -| is \[not\] even by | | $a is not even by $b | grouping level \[not\] even | ($a / $b) % 2 == 0 | -| is \[not\] odd | | $a is not odd | \[not\] an odd number (unary) | $a % 2 != 0 | -| is \[not\] odd by | | $a is not odd by $b | \[not\] an odd grouping | ($a / $b) % 2 != 0 | +`{/while}`. All [operators](../language-basic-syntax/language-syntax-operators.md) are recognized, such as *==*, +*\|\|*, *or*, *&&*, *and*, etc and you can use modifiers as functions, such as *is_array()*. ## Examples ```smarty |
