이 글은 주로 PHP 소스 코드에 대한 간략한 논의를 소개합니다. 3: strrchr, strstr, stristr 함수에 대해서는 특정 참조 값이 있습니다. 이제 필요한 친구들이 참조할 수 있습니다
# 🎜🎜 #string strrchr (string haystack, string needle)haystack의 마지막 needle(문자) 뒤의 문자열을 반환합니다.needle이 숫자인 경우 이 숫자를 이 값으로 변환합니다. 문자
바늘이 두 개 이상의 문자열인 경우 첫 번째 문자를 사용합니다.
haystack이 숫자인 경우 해당 숫자는 직접 문자열로 변환됩니다.
프로그램은 Convert_to_string_ex(haystack ; 문자열을 호출합니다. 위치 뒤에 위치가 존재하지 않으면 false를 반환합니다.
이 함수는 바늘이 문자열이 될 수 있다는 점을 제외하면 strrchr와 유사합니다. , 이 위치를 기준으로 후속 문자열이 반환됩니다.
static inline char *zend_memnstr(char *haystack, char *needle, int needle_len, char *end){ char *p = haystack; char ne = needle[needle_len-1]; if(needle_len > end-haystack) { return NULL; } end -= needle_len; // 优化细节一,仅查找end-needle_len长度的字符串 while (p <= end) { // 优化细节二,此处先判断字符串的开头和结尾的字符是否一样,如果一样则再判断整个字符串,提升性能 if ((p = (char *)memchr(p, *needle, (end-p+1))) && ne == p[needle_len-1]) { if (!memcmp(needle, p, needle_len-1)) { return p; } } if (p == NULL) { return NULL; } p++; } return NULL;}
string stristr(string haystack, string needle)# 🎜🎜#stristr 함수는 대소문자를 구분하지 않는다는 점을 제외하면 strstr과 유사합니다.
PHP 소스 코드 구현의 주요 차이점은 모든 문자열을 소문자로 변환하는 작업이 추가된 것입니다. 프로그램 구현은 검색 앞에 다음 코드를 추가하는 것입니다:php_strtolower(s, s_len);php_strtolower(t, t_len);return php_memnstr(s, t, t_len, s + s_len);
정수 변수와 동일합니다. 정수는 더하기, 빼기, 곱하기, 나누기가 가능하고, 더하기, 빼기, 곱하기, 나누기도 가능하기 때문입니다.
PHP 소스 코드 2에 대한 간략한 토론: strlen, strtolower, strtoupper, ord, chr 함수 정보
PHP 소스 코드 1에 대한 간략한 토론: 분해 및 내부 분해
위 내용은 PHP 소스 코드 3에 대한 간략한 토론: strrchr, strstr, stristr 함수 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!