zephir-(10)内置函数

#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开发人员:

相关文章
相关标签/搜索