PHP 擴展 - 常用函數(shù)

字符串相關(guān)

void zend_str_tolower(char *str, size_t len);  // 轉(zhuǎn)換字符串 char * 為小寫
zend_string* zend_string_tolower(zend_string *str);  // 轉(zhuǎn)換字符串 zend_string * 為小寫
zend_string* php_string_tolower(zend_string *str);  // 功能跟上面一樣跋炕,是 strtolower 的原型
zend_string* php_string_toupper(zend_string *str);  // strtoupper 的原型

// 格式化成 zend_string *, 使用完記得 zend_string_release
zend_string *strpprintf(size_t max_len, const char *format, ...);
// 格式化成 char *, 使用完記得 efree
size_t spprintf( char **pbuf, size_t max_len, const char *format, ...);

smart_str_*  // 待分析

zend_string *zval_get_string(zval *val);  // 從 zval 轉(zhuǎn)換為 zend_string 并 COPY 一份

數(shù)組相關(guān)

uint32_t zend_hash_num_elements(HashTable *ht);  // 獲取數(shù)組大小
zval* zend_hash_find(HashTable *ht, zend_string *key);  // 根據(jù) zend_string * 作為 key 查找數(shù)組
zval* zend_hash_str_find(HashTable *ht, char *str, size_t len);  // 根據(jù) char * 作為 key 查找數(shù)組
zval* zend_hash_index_find(HashTable *ht, zend_ulong h);  // 查找索引 h 的數(shù)組元素
void* zend_hash_find_ptr(HashTable *ht, zend_string *key);  // 同上辐烂,只是返回元素指針指向的值
void* zend_hash_str_find_ptr(HashTable *ht, char *str, size_t len);  // 跟上同類
void* zend_hash_index_find_ptr(HashTable *ht, zend_ulong h);  // 跟上同類
zend_bool zend_hash_exists(HashTable *ht, zend_string *key);  // zend_string * key 是否存在
zend_bool zend_hash_str_exists(HashTable *ht, char *str, size_t len);  // char * key 是否存在
zend_bool zend_hash_index_exists(HashTable *ht, zend_ulong h);  // 索引 h 是否存在

zend_array *HASH_OF(zval *val);  // 其實 HASH_OF 是一個宏纠修,參數(shù) value 可以是數(shù)組 `IS_ARRAY` 或者對象 `IS_OBJECT`厂僧,否則返回 NULL

方法和函數(shù)相關(guān)

zval* zend_call_method(zval *object_pp, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, int param_count, zval* arg1, zval* arg2);  // 調(diào)用類實例成員方法
zval* zend_call_method_with_0_params(zval *object_pp, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, zval *retval);  // zend_call_method 的縮寫颜屠,不傳遞參數(shù)
// 同類還有 zend_call_method_with_1_params 和 zend_call_method_with_2_params

輸出

void php_var_dump(zval *struc, int level);  // 類似 var_dump 方法, 需要引入 ext/standard/php_var.h
size_t php_printf(const char *format, ...);  // 格式化輸出到 PHP
size_t php_output_write(const char *str, size_t len);  // 等同于 PHPWRITE 宏
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甫窟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子揩悄,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溯泣,死亡現(xiàn)場離奇詭異,居然都是意外死亡旱物,警方通過查閱死者的電腦和手機梳星,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門冤灾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來韵吨,“玉大人,你說我怎么就攤上這事漏峰〗扉” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贤壁。 經(jīng)常有香客問我脾拆,道長莹妒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮渴邦,結(jié)果婚禮上拘哨,老公的妹妹穿的比我還像新娘倦青。我一直安慰自己产镐,他們只是感情好癣亚,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布述雾。 她就那樣靜靜地躺著,像睡著了一般唆缴。 火紅的嫁衣襯著肌膚如雪面徽。 梳的紋絲不亂的頭發(fā)上趟紊,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天织阳,我揣著相機與錄音唧躲,去河邊找鬼碱璃。 笑死嵌器,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚓让。 我是一名探鬼主播历极,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼氏义!你這毒婦竟也來了惯悠?” 一聲冷哼從身側(cè)響起克婶,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘀掸,沒想到半個月后睬塌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揩晴,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡硫兰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泳赋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喇喉。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡千诬,死狀恐怖大渤,靈堂內(nèi)的尸體忽然破棺而出泵三,到底是詐尸還是另有隱情衔掸,我是刑警寧澤敞映,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布捷犹,位于F島的核電站,受9級特大地震影響侣颂,放射性物質(zhì)發(fā)生泄漏憔晒。R本人自食惡果不足惜拒担,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望低零。 院中可真熱鬧,春花似錦阴挣、人聲如沸纺腊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洪添。三九已至干奢,卻和暖如春忿峻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背垄惧。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蕾管,地道東北人掰曾。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像秒梅,于是被迫代替她去往敵國和親捆蜀。 傳聞我的和親對象是個殘疾皇子辆它,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容