# 表达式(Expressions)
volt模板引擎提供表达式支持,包括文字和常见操作符
输入:
~~~
{{ (1 + 1) * 2 }}
~~~
输出:
~~~
4
~~~
如果表达式结果无需输出显示,则可以在前面加上do操作符
输入:
~~~
{% do (1 + 1) * 2 %}
~~~
输出:
~~~
此时只会执行表达式,不会有任何输出
~~~
### 运算符
运算符主要包括算术运算符、比较运算符、逻辑运算符和其它运算符
#### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%AC%A6)算术运算符
| 操作符 | 作用 | 示例 |
| :-: | :-: | :-: |
| + | 加法操作 | {{ a+b }} |
| \- | 减法操作 | {{ a-b }} |
| \* | 乘法操作 | {{ a\*b }} |
| / | 除法操作 | {{ a/b }} |
| % | 取余操作 | {{ a%b }} |
#### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E6%AF%94%E8%BE%83%E8%BF%90%E7%AE%97%E7%AC%A6)比较运算符
| 操作符 | 作用 |
| :-: | :-: |
| \== | 等于(元素值相同) |
| != | 不等于 |
| <> | 不等于 |
| \> | 大于 |
| < | 小于 |
| <= | 小于等于 |
| \>= | 大于等于 |
| \=== | 全等于(元素值和类型都相同) |
| !== | 不全等于(元素值和类型至少有一样不同) |
#### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AC%A6)逻辑运算符
| 操作符 | 作用 |
| :-: | :-: |
| or | 或 |
| and | 且 |
| not | 非 |
| (expr) | 表达式 |
#### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E5%85%B6%E5%AE%83%E8%BF%90%E7%AE%97%E7%AC%A6)其它运算符
| 操作符 | 作用 |
| :-: | :-: |
| ~ | 连接两个操作数 |
| | | 为最左侧变量增加过滤器 |
| .. | 创建一个包含指定范围单元的数组 |
| is | 等于 |
| in | 检查表达式是否包含在其他表达式中 |
| is not | 不等于 |
| a ? b : c | 三目运算 |
| ++ | 自增 |
| \-- | 自减 |
`~`
用法示例:
~~~
{# 连接两个字符串并去除最右侧的 '-' 字符 #}
{% set prop = '' %}
{% set property = ['a','b','c'] %}
{% for item in property %}
{% set prop = prop~item['val']~'-' %}
{% endfor %}
{{ prop|right_trim('-') }}
{# 输出:a-b-c #}
~~~
`..`
用法示例:
~~~
{# 创建一个包含指定范围单元的数组 #}
{% for index in 0..2 %}
{{ index }}
{% endfor %}
{# 输出:0 1 2 #}
~~~
`a ? b : c`
用法示例:
~~~
{# 三目运算:a为真则执行b否则执行c #}
{% set a=true %}
{{ a ? 'true ' : 'false ' }}
{% set a='2' %}
{{ a ? 'true ' : 'false ' }}
{% set a='' %}
{{ a ? 'true ' : 'false ' }}
{# 输出:true true false #}
~~~
- 序言
- 基础
- 安装
- 规范
- 目录
- 配置
- 架构
- 入口文件
- 伪静态配置
- Facade
- 使用行为
- 路由
- 路由定义
- 控制器
- 定义控制器
- 数据库
- 连接数据库
- 链式操作
- where
- builder
- field
- limit
- page
- order
- group
- find
- select
- value
- count
- sum
- average
- maximum
- minimum
- column
- update
- insert
- delete
- begin
- rollback
- commit
- left
- right
- inner
- for_update
- shared_lock
- cache
- 构造器
- 查询
- 添加
- 更新
- 删除
- 模型
- 创建模型
- 自动时间戳
- 模型关联
- 模型事件
- 数据转换
- 软删除
- 视图
- 模板
- 日志
- 调试
- 验证
- CLI命令行
- 标准
- 命名规范
- 语法规范
- 注释规范
- 设计模式
- 开发提示
- 数据字典
- Markdown使用文档
- volt模板引擎
- 简介
- 注释
- 变量
- 过滤器
- 流程控制
- 循环语句for
- 条件判断语句if
- 表达式及运算符
- 函数