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開發人員:

相關文章
相關標籤/搜索