#zephir-内置函数#php
##前言## 先在这里感谢各位zephir开源技术提供者git
嗨!你们好呀,今天要和你们一同窗习zephir的内置函数,学过PHP的同窗都知道,PHP的函数很是强大,固然这也是咱们喜欢PHP的一个方面,可是若是想一想这些函数都要你本身去实现呢,不只很难并且实现很差对效率影响很大,固然zephir不会让你们来本身实现这些基础函数,接下来咱们开始学习今天的知识把.github
注:笔者水平有限,说的不正确的地方但愿你们多多指正,一同交流技术编程
附上:数组
喵了个咪的博客:w-blog.cn函数
zephir官网地址:http://zephir-lang.com/性能
github地址:https://github.com/phalcon/zephir学习
##内置的方法##code
如前所述,Zephir促进面向对象编程、变量与静态类型也能够做为对象处理。orm
比较这两个方法:
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开发人员: