php strncmp函數(shù)原型源碼分析
更新時(shí)間:2023年06月05日 09:21:40 作者:zzMeow
這篇文章主要為大家介紹了php strncmp函數(shù)原型源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
strncmp
函數(shù)原型

源碼分析 版本PHP 5.6.40
1、Zend/zend_builtin_functions.c (內(nèi)置函數(shù))
ZEND_FUNCTION(strncmp)
{
char *s1, *s2;
int s1_len, s2_len;
long len;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssl", &s1, &s1_len, &s2, &s2_len, &len) == FAILURE) {
return;
}
if (len < 0) {
zend_error(E_WARNING, "Length must be greater than or equal to 0");
RETURN_FALSE;
}
RETURN_LONG(zend_binary_strncmp(s1, s1_len, s2, s2_len, len));
}2、Zend/zend_operators.c
ZEND_API int zend_binary_strncmp(const char *s1, uint len1, const char *s2, uint len2, uint length) /* {{{ */
{
int retval;
if (s1 == s2) {
return 0;
}
retval = memcmp(s1, s2, MIN(length, MIN(len1, len2)));
if (!retval) {
return (MIN(length, len1) - MIN(length, len2));
} else {
return retval;
}
}3、memcmp 用法

以上就是php strncmp函數(shù)原型源碼分析的詳細(xì)內(nèi)容,更多關(guān)于php strncmp源碼分析的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Mac系統(tǒng)下搭建Nginx+php-fpm實(shí)例講解
這篇文章主要介紹了Mac系統(tǒng)下搭建Nginx+php-fpm實(shí)例講解,不懂mac系統(tǒng)下如何搭建php環(huán)境的小伙伴可以跟隨小編一起來學(xué)習(xí)研究下吧2020-12-12
PHP中最容易忘記的一些知識(shí)點(diǎn)總結(jié)
本篇文章總結(jié)出了一部分,PHP中最容易忘記的一些知識(shí)點(diǎn)。需要的朋友參考下2013-04-04
laravel框架上傳圖片實(shí)現(xiàn)實(shí)時(shí)預(yù)覽功能
今天小編就為大家分享一篇laravel框架上傳圖片實(shí)現(xiàn)實(shí)時(shí)預(yù)覽功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例分享
多態(tài)這個(gè)概念,在Java中指的是變量可以指向的對(duì)象的類型,可是變量聲明類型的子類。對(duì)象一旦創(chuàng)建,它的類型是不變的,多態(tài)的是變量2014-04-04
php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了php生成二維碼不保存服務(wù)器還有下載功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08

