PHP学习笔记--字符串的操作
字符串的操作
1.去除字符串的首尾空格和特殊字符
函数trim() 用于去除开始位置以及结束位置的字符
语法 string trim(string str[, string charlist]),其中charlist是可选参数,指定删除的字符串,携带的话,删除指定的字符,如果不携带的话,删除所有的可选字符。
可选字符有 \0(空值)、\t(制表符)、\n(换行符)、\x0B(垂直制表符)、\r(回车符)、" "(空格)
函数ltrim() 用于去除左边的空格或者指定字符
语法 string ltrim(string str[, string charlist]),其中charlist是可选参数,指定删除的字符串,携带的话,删除指定的字符,如果不携带的话,删除所有的可选字符。
可选字符有 \0(空值)、\t(制表符)、\n(换行符)、\x0B(垂直制表符)、\r(回车符)、" "(空格)
函数rtrim() 用于去除右边的空格或者指定字符
语法 string ltrim(string str[, string charlist]),其中charlist是可选参数,指定删除的字符串,携带的话,删除指定的字符,如果不携带的话,删除所有的可选字符。
可选字符有 \0(空值)、\t(制表符)、\n(换行符)、\x0B(垂直制表符)、\r(回车符)、" "(空格)
2.字符串的转义。
对于字符串的转义,分为手动转义和自动转义。
手动转义:使用转义字符"\",如:
echo "this's a \"cat\";"//this's a "cat";
自动转义:针对简单的字符串,可以使用手动转义,如果数据量比较的字符串,最好能够采用自动转义,主要用下面的函数;
addslashes() 用来为字符串加入斜线"\";
语法 string addslashes(string str);
stripslashes() 用来还原addslashes()转义后的字符串;如
$str = "select * from table_student where name = 'jim'";
echo $str."
";//select * from table_student where name = 'jim'
echo addslashes($str);//select * from table_student where name = \'jim\'
echo stripslashes(addslashes($str));//select * from table_student where name = 'jim'
?>
注:所有数据在插入数据库之前,有必要用addslashes()函数进行转义,防止特殊字符未经转义,插入数据库时出现错误。
addcslashes() 用来在指定的字符前加上反斜线;
语法 string addcslashes(string str, string charlist)
stripcslashes() 用来将addcslashes()函数转义后的字符串还原;
语法 string stripcslashes(string str)
$str = "select * from table_student where name = 'jim'";
echo $str."
";//select * from table_student where name = 'jim'
echo addcslashes($str, "'jim'");//select * fro\m table_student where na\me = \'\j\i\m\'
echo stripcslashes(addcslashes($str, "'jim'"));//select * from table_student where name = 'jim'
?>
3.获取字符串的长度
函数strlen() 获取字符串的长度
$str = "select * from table_student where name = 'jim'";
echo strlen($str); //str字符串的长度为46
?>
4.截取字符串
函数 string substr(string str, int start[, int length])
其中str是要截取的原字符串,start是从什么地方开始截,要注意的是字符串的第一位为0,可选参数length截取的长度,如果不携带的话,是指截取到最后,如果为负数,是指截取到倒数第几个字符
$str = "select * from table_student where name = 'jim'";
echo substr($str, 2); //不携带可选参数length
echo substr($str, 3, 20);//从3截到20
echo substr($str, 3, -1);//从3截到倒数第二个字符
?>
5.比较字符串
有三种方式 1.按照字节 2.按照自然排序法 3.指定从源字符串的位置进行比较
1).按照字节
用下面两个函数1.strcmp() 2.strasecmp()
a.strcmp(string str1, string str2) 比较时区分大小写,相等则返回0,str1大的话返回大于0,str2大的话返回小于0
b.strcasecmp(string str1, string str2) 不区分大小写
如
$str1 = "abc";
$str2 = "ABC";
echo strcmp($str1, $str2)."
";//区分大小写
echo strcasecmp($str1, $str2)."
";//不区分大小写
?>
2).按照自然排序
按照自然排序,在字符串中的字符相同的情况下,比较的是字符串中的数字 通常用来比较比如str1,str2,str3...这类字符串
函数int strnatcmp(string str1, string str2) 比较时区分大小写,相等则返回0,str1大的话返回大于0,str2大的话返回小于0
$str1 = "abc2";
$str2 = "abc10";
echo strcmp($str1, $str2)."
";//按字节比,返回1,str1大,因为在计算机中2比1大
echo strnatcmp($str1, $str2)."
";//按照自然排序,返回-1,str2大,因为按数字比,10是大于2的
?>
3).指定从源字符串的位置
int strncmp(string str1, str2, int len)函数用来比较字符串中的前n字符,如
$str1 = "abce";
$str2 = "abcdf";
echo strncmp($str1, $str2, 4)."
";//返回1,比较两个字符串的前4个字符
?>
6.字符串的检索
1).函数string strstr(string haystack, string needle)
获取needle字符串在haystack中首先出现的位置到haystack末尾的字符串,如果有该字符串,则返回上面的子字符串,如果没有则返回false,需要注意的是该函数需要区分大小写
$str1 = "abce";
$str2 = "abcdf";
$str3 = "bcd";
echo strstr($str1, $str2)."
";//返回false
echo strstr($str2, $str3);//返回bcdf
?>
2).函数int substr_count(string haystack, string needle)查询needle在haystack出现的次数,
$str1 = "abc";
$str2 = "abcdfabccdabc";
$str3 = "eca";
echo substr_count($str2, $str1)."
";//返回3
echo substr_count($str2, $str3)."
";//返回0
?>
7.替换字符串
1).str_ireplace(mix search, mix replace, mixed subject[, int &count]) 在subject中查找search,并把search替换成replace,其中&count表示取代字符串执行的次数,需要注意的是该函数不区分大小写,区分大小写的话,使用str_replace()
echo str_ireplace("WORlD","John","Hello world!world", $i);//Hello John!John
echo $i;//i为2,表示一共替换了2次
?>
2).函数substr_replace(string str, string repl, int start[, int length]) 在字符串str中,从start位置开始到最后替换成字符串repl,可选参数length表示替换的长度,为空的意思是从开始出一直到最后。
$str = "abcdefghijljljlljljljljlj";
$repl = "12121231";
echo substr_replace($str, $repl, 2)."
";//length参数为空,一直替换到末尾,ab12121231
echo substr_replace($str, $repl, 2, 3);//length为3,ab12121231fghijljljlljljljljlj
?>
8.分割字符串
函数array explode(string separator, string str[, int limit])使用separator分隔符对str进行分割,其中limit是可选参数,如果limit设置了值,则说明返回的数组包含最多limit个元素,而最后的元素包含了str字符串的剩余部分,如果limit
是负数的话,则返回除了最后的-limit个元素之外的所有元素,另外需要注意的是如果separator为空的话,则函数返回false,如果separator在str中找不到的话,则返回一个元素的数组,该元素为str
$str1 = "abc@cde@aaa@dec";
$arr = explode("@", $str1);
$arr1 = explode("@", $str1, 2);
print_r($arr);//Array ( [0] => abc [1] => cde [2] => aaa [3] => dec )
print_r($arr1);//Array ( [0] => abc [1] => cde@aaa@dec )
?>
9.合并字符串
函数string implode(string glue, array pleces) 使用分隔符glue把数组pleces给合并起来
$arr = array("abc", "cde", "aaa");//定义一个数组
echo implode("@", $arr);//abc@cde@aaa
?>
最近在学习PHP的字符串,总结一下,做个笔记,方便记忆。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,
