//PHP字符串详解
PHP中的字符串可以用双引号或者单引号标示,区别就是双引号包裹的内容可以被解释并替换,而单引号包围的内容则只能作为普通字符进行处理。
*在进行SQL查询之前,所有字符串都必须加单引号,以避免可能的注入漏洞和SQL错误
eg:
$test = "hello";
echo "$test";
echo '$test';
result:
hello
$test
这下你就明白单引号和双引号字符串的区别了吧?
字符串连接符.
eg:
$str1 = "hello";
$str2 = " world!"
echo $str1.$str2; //hello world!
去除字符串首尾空格和特殊字符
string trim(string str[,string charlist]) 去除字符串两端空格
string ltrim(string str[,string charlist]) 去除字符串左端空格
string rtrim(string str[,string charlist]) 去除字符串右端空格
charlist为可选参数,指定需要从字符串中删除哪些字符
eg:
$str = " hello ";
echo trim($str); //hello
字符串转义
有手动转义和自动转义
手动转义是用反斜杠\,你懂的,不过多解释了
自动转义函数:
string addslashes(string str);
stripslashes(string str)用来将addslashes()函数转义后的字符串str返回原样
string stripslashes(string str)
eg:
$str = "select * from tbl where name = 'lisi'";
$str = addslashes($str);
echo $str; //select * from tbl where name = \'lisi\';
echo stripslashes($str);//select * from tbl where name = 'lisi'
addcslashes()和stripcslashes()函数实现对指定范围内的字符串进行转义
string addcslashes(string str,string charlist)
参数charlist指定在字符串中的哪些字符前加上反斜线\,如果参数charlist中包含\n、\r等字符,将以c语言风格转换,而其它非字母数字且ascii码低于32以及高于126的字符均转换成八进制表示
string stripcslashes(string str)将上面转义的字符串还原
获取字符串的长度
int strlen(string str)
*汉字占两个字符,数字,英文,小数点,下划线和空格占一个字符
截取字符串
string substr(string str,intstart[,int length])
length为可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符,没有length则从intstart截取到字符串末尾,从0开始
比较字符串
1)按字节进行字符串的比较
int strcmp(string str1,string str2);
int strcasecmp(string str1,string str2); //不区分大小写
如果相等返回0,如果str1大于str2返回>0的数
2)按自然排序法进行字符串的比较,比较的是字符串的数字部分,
int strnatcmp(string str1,string str2);
int strnatcasecmp(string str1,string str2);
3)指定从源字符串的位置开始比较
int strncmp(string str1,string str2,int len)
len指定参与比较字符的数量
检索字符串
1)使用strstr()函数查找指定的关键字,获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串,如果成成,则返回剩余字符串,否则返回false
string strstr(string haystack,string needle);
haystack 指定从哪个字符串进行搜索
needle指定搜索的对象,如果该参数是一个数值,那么将搜索与这个数值的ascii值匹配的字符,区分大小写
strchr()与其正好相反,该函数从字符串末尾的位置开始检索字符串,倒序查找
2)使用substr_count()函数检索子串出现的次数
int substr_count(string haystack,string needle);
haystack指定的字符串,needle指定的字符
替换字符串
string str_ireplace(mixed search,mixed replace,mixed subject[,int &count])
将所有在参数subject中出现的参数search以参数replace取代,参数&count表示取代字符串执行的次数,不区分大小写
string str_replace()区分大小写
PHP中的字符串可以用双引号或者单引号标示,区别就是双引号包裹的内容可以被解释并替换,而单引号包围的内容则只能作为普通字符进行处理。
*在进行SQL查询之前,所有字符串都必须加单引号,以避免可能的注入漏洞和SQL错误
eg:
$test = "hello";
echo "$test";
echo '$test';
result:
hello
$test
这下你就明白单引号和双引号字符串的区别了吧?
字符串连接符.
eg:
$str1 = "hello";
$str2 = " world!"
echo $str1.$str2; //hello world!
去除字符串首尾空格和特殊字符
string trim(string str[,string charlist]) 去除字符串两端空格
string ltrim(string str[,string charlist]) 去除字符串左端空格
string rtrim(string str[,string charlist]) 去除字符串右端空格
charlist为可选参数,指定需要从字符串中删除哪些字符
eg:
$str = " hello ";
echo trim($str); //hello
字符串转义
有手动转义和自动转义
手动转义是用反斜杠\,你懂的,不过多解释了
自动转义函数:
string addslashes(string str);
stripslashes(string str)用来将addslashes()函数转义后的字符串str返回原样
string stripslashes(string str)
eg:
$str = "select * from tbl where name = 'lisi'";
$str = addslashes($str);
echo $str; //select * from tbl where name = \'lisi\';
echo stripslashes($str);//select * from tbl where name = 'lisi'
addcslashes()和stripcslashes()函数实现对指定范围内的字符串进行转义
string addcslashes(string str,string charlist)
参数charlist指定在字符串中的哪些字符前加上反斜线\,如果参数charlist中包含\n、\r等字符,将以c语言风格转换,而其它非字母数字且ascii码低于32以及高于126的字符均转换成八进制表示
string stripcslashes(string str)将上面转义的字符串还原
获取字符串的长度
int strlen(string str)
*汉字占两个字符,数字,英文,小数点,下划线和空格占一个字符
截取字符串
string substr(string str,intstart[,int length])
length为可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符,没有length则从intstart截取到字符串末尾,从0开始
比较字符串
1)按字节进行字符串的比较
int strcmp(string str1,string str2);
int strcasecmp(string str1,string str2); //不区分大小写
如果相等返回0,如果str1大于str2返回>0的数
2)按自然排序法进行字符串的比较,比较的是字符串的数字部分,
int strnatcmp(string str1,string str2);
int strnatcasecmp(string str1,string str2);
3)指定从源字符串的位置开始比较
int strncmp(string str1,string str2,int len)
len指定参与比较字符的数量
检索字符串
1)使用strstr()函数查找指定的关键字,获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串,如果成成,则返回剩余字符串,否则返回false
string strstr(string haystack,string needle);
haystack 指定从哪个字符串进行搜索
needle指定搜索的对象,如果该参数是一个数值,那么将搜索与这个数值的ascii值匹配的字符,区分大小写
strchr()与其正好相反,该函数从字符串末尾的位置开始检索字符串,倒序查找
2)使用substr_count()函数检索子串出现的次数
int substr_count(string haystack,string needle);
haystack指定的字符串,needle指定的字符
替换字符串
string str_ireplace(mixed search,mixed replace,mixed subject[,int &count])
将所有在参数subject中出现的参数search以参数replace取代,参数&count表示取代字符串执行的次数,不区分大小写
string str_replace()区分大小写