zephir-流程控制语句
2016-06-29 14:07
453 查看
zephir-流程控制语句
前言
先在这里感谢各位zephir开源技术提供者ZEPHIR实现了一个简化的控制结构语句,类似的语言如C,PHP等,那么今天就和笔者一同来学习zephir的流程控制语句把!
注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术
附上:
喵了个咪的博客:w-blog.cn
zephir官网地址:http://zephir-lang.com/
github地址:https://github.com/phalcon/zephir
if语句
“if”语句执行并且进行验证。包裹处理结果的括号是必须有的的,一个“if”可以有一个可选的’else’条款,多’if’/’else’的构造可以链接在一起:if false { echo "false?"; } else { if true { echo "true!"; } else { echo "neither true nor false"; } }
“elseif”也可以:
if a > 100 { echo "to big"; } elseif a < 0 { echo "to small"; } elseif a == 50 { echo "perfect!"; } else { echo "ok"; }
括号是可选的:
if a < 0 { return -1; } else { if a > 0 { return 1; } }
Switch语句
Switch对表达式的值进行一个多条件判断和默认条件处理:switch count(items) { case 1: case 3: echo "odd items"; break; case 2: case 4: echo "even items"; break; default: echo "unknown items"; }
while语句
“while”代表一个循环迭代只要给定条件值为true:let counter = 5; while counter { let counter -= 1; }
除了“while”,“loop”可以用来创建无限循环:
let n = 40; loop { let n -= 2; if n % 5 == 0 { break; } echo x, "\n"; }
for语句
“for”是一种控制结构,允许遍历数组或字符串:for item in ["a", "b", "c", "d"] { echo item, "\n"; }
在散列键可在以下方式:
let items = ["a": 1, "b": 2, "c": 3, "d": 4]; for key, value in items { echo key, " ", value, "\n"; }
“for”的循环也可以指示在相反的顺序遍历一个数组或字符串:
let items = [1, 2, 3, 4, 5]; for value in reverse items { echo value, "\n"; }
“for”可以用来遍历字符串变量:
string language = "zephir"; char ch; for ch in language { echo "[", ch ,"]"; }
在相反的顺序:
string language = "zephir"; char ch; for ch in reverse language { echo "[", ch ,"]"; }
一个标准的“for”,遍历一系列的整数值可以写成:
for i in range(1, 10) { echo i, "\n"; }
为了避免警告未使用的变量可以使用匿名变量”的陈述, 通过替换占位符“_”的变量名:
// 值用了key却忽略了value for key, _ in data { echo key, "\n"; }
Break语句
“Break”结束执行当前的“while”,“for”或“loop”的语句:for item in ["a", "b", "c", "d"] { if item == "c" { break; // 结束了for } echo item, "\n"; }
Continue语句
“Continue”中使用循环结构来跳过当前循环迭代和剩下的 继续执行情况评估,然后下一次迭代的开始。let a = 5; while a > 0 { let a--; if a == 3 { continue; } echo a, "\n"; }
Require语句
在’Require’语句动态包含并指定的PHP文件。需要注意的是通过ZEPHIR包含的文件是由Zend引擎解释为正常的PHP文件。’Require’不允许包括在运行其他ZEPHIR文件。if file_exists(path) { require path; }
Let语句
“Let”语句用于变量,属性和数组。 默认变量是不可变的,这个指令使其可变的:let name = "Tony"; let this->name = "Tony"; let data["name"] = "Tony"; let self::_name = "Tony";
也必须使用这个指令递增/递减变量:
let number++; let number--; let this->number++; let this->number--;
总结
今天学习了主要的一些流程判断语句以及极为重要的require语句,有了require就可以把不同的PHP问题引入进来做到类似于路由的功能,这些将到后续的实战演示中展示到,那么今天就到这里了,多谢大家的关注!注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
zephir技术交流:246348908 欢迎大家的加入!
感谢zephir开发人员:
相关文章推荐
- 一个关于if else容易迷惑的问题
- 如何组织构建多文件 C 语言程序(二)
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- 如何写好 C main 函数
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- 新注册
- 四大漏洞入侵博客
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充