zephir-(10)内置函数
时间:2022-04-29
本文章向大家介绍zephir-(10)内置函数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#zephir-内置函数#
##前言## 先在这里感谢各位zephir开源技术提供者
嗨!大家好呀,今天要和大家一同学习zephir的内置函数,学过PHP的同学都知道,PHP的函数非常强大,当然这也是我们喜欢PHP的一个方面,但是如果想想这些函数都要你自己去实现呢,不仅很难而且实现不好对效率影响很大,当然zephir不会让大家来自己实现这些基础函数,接下来我们开始学习今天的知识把.
注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术
附上:
喵了个咪的博客:w-blog.cn
zephir官网地址:http://zephir-lang.com/
github地址:https://github.com/phalcon/zephir
##内置的方法##
如前所述,Zephir促进面向对象编程、变量与静态类型也可以作为对象处理。
比较这两个方法:
public function binaryToHex(string! s) -> string
{
var o = "", n; char ch;
for ch in range(0, strlen(s)) {
let n = sprintf("%X", ch);
if strlen(n) < 2 {
let o .= "0" . n;
} else {
let o .= n;
}
}
return o;
}
和:
public function binaryToHex(string! s) -> string
{
var o = "", n; char ch;
for ch in range(0, s->length()) {
let n = ch->toHex();
if n->length() < 2 {
let o .= "0" . n;
} else {
let o .= n;
}
}
return o;
}
他们都有相同的功能,但第二个使用面向对象编程。
调用方法在静态类型变量中对性能没有任何影响,因为Zephir内部转换程序的面向对象版本的代码版本。
##字符串##
以下字符串内置方法可用:
面向对象操作 函数 描述
s->length() strlen(s) 获取字符串长度
s->trim() trim(s) 去除字符串的开头和末尾空格(或其它字符)
s->trimleft() ltrim(s) 从字符串的开头去除空格(或其它字符)
s->trimright() rtrim(s) 从一个字符串的末尾去除空格(或其它字符)
s->index(“foo”) strpos(s, “foo”) 查找字符串的第一个出现的字符串中的位置
s->lower() strtolower(s) 转换一个字符串变成小写
s->upper() strtoupper(s) 转换一个字符串变成大写
s->lowerfirst() lcfirst(s) 使一个字符串的第一个字符变成小写
s->upperfirst() ucfirst(s) 使一个字符串的第一个字符变成大写
s->format() sprintf(s, “%s”, x) 返回一个格式化的字符串
s->md5() md5(s) 计算一个字符串的MD5散列
s->sha1() sha1(s) 计算一个字符串的SHA1哈希
##数组##
以下数组内置方法可用:
面向对象操作 函数 描述
a->join(” ”) join(” ”, a) 加入一个字符串数组元素
a->rev() array_reverse(a) 返回与以相反的顺序元素的数组
a->reversed() array_reverse(a) 返回与以相反的顺序元素的数组
a->diff() array_diff(a) 计算数组的差别
a->flip() array_flip(a) 交换数组中的所有键与它们相关的值
a->walk() array_walk(a) 执行功能适用于每一个成员的一个数组
a->hasKey() array_key_exists(a) 检查给定的键或索引数组中存在
a->keys() array_keys(a) 返回所有键或数组的键子集
a->values() array_values(a) 返回数组中所有的值
a->split() array_chunk(a) 拆分数组块
a->combine(b) array_combine(a, b) 通过使用密钥一个阵列,另一个是它的值创建一个数组
a->intersect(b) array_intersect(a, b) 计算数组的交集
a->merge(b) array_merge(a, b) 合并一个或一个以上的数组
a->pad() array_pad(a, b) 垫数组与值指定的长度
##字符##
字符串和整数官方并没有给出很好解释,在日后日常使用中遇到的具体函数会进行补充.
ch->toHex() sprintf(“%X”, ch)
##整数##
i->abs() abs(i)
##总结##
大家可以看到zephir的内置函数和php内置的相比毫不逊色,也能很大程度的提高我们的开发效率,那么今天就到这里,多谢大家的支持!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
zephir技术交流:246348908 欢迎大家的加入!
感谢zephir开发人员:
- silverlight于javascript通信
- 微信上线小游戏:对流量基础入口应用商店革命
- Appium Desktop 使用
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(36)-文章发布系统③-kindeditor使用
- Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
- .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
- 丰富的silverlight控件
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(35)-文章发布系统②-构建项目
- .Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法
- 机器学习加密货币IOTA在机构支持下跃起
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析
- WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效
- 微信发布了小游戏,这一次腾讯 vs 世界
- .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis系列:单机主从模式搭建
- Python 爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
- 10 个冷门但又非常实用的 Docker 使用技巧!
- 利用 Shell 脚本实现邮件监控 Linux 系统的内存
- 拥有此神技,脚本调试从此与 echo、set、test 说分手!
- 很少用到,但掏出来让人感到牛逼的Web API
- 突击并发编程JUC系列-并发工具 CountDownLatch
- 推出 TF Lite Task Library 接口,简化 ML移动端开发流程
- 排序算法之我观
- 线性筛素数(探索中的不断优化)
- 麦森数
- 5款工具,让你轻松创建并分享优美的项目源码
- 过河卒
- 低调的 Linux 文件系统家族
- 圆点