Zephir 文档翻译-内建方法

原创
2016/03/04 23:25
阅读数 669

内建方法 #内建方法 如前面所说的一样,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)|Checks if the given key or index exists in the array| |a->keys()|array_keys(a)|Return all the keys or a subset of the keys of an array| |a->values()|array_values(a)|Return all the values of an array| |a->split()|array_chunk(a)|Split an array into chunks| |a->combine(b)|array_combine(a, b)|Creates an array by using one array for keys and another for its values| |a->intersect(b)|array_intersect(a, b)|Computes the intersection of arrays| |a->merge(b)|array_merge(a, b)|Merge one or more arrays| |a->pad()|array_pad(a, b)|Pad array to the specified length with a value|

##字符串 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| |ch->toHex()|sprintf(“%X”, ch)||| ##整数 | 面向对象的写法 | 面向过程写法| 说明| | ------------- |-------------:|:-----| |i->abs()|abs(i)|||

展开阅读全文
打赏
1
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
1
分享
返回顶部
顶部