php字符串函数

1 addcslashes() 函数返回在指定字符前添加反斜杠的字符串

$str = addcslashes("A001 A002 A003","A");

echo($str);// \A001 \A002 \A003

stripcslashes() 函数删除由 addcslashes() 函数添加的反斜杠。

2 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符 单引号(')双引号(")反斜杠(\)NULL

$str = "What's your name?";

echo addslashes($str);//What\'s your name?
stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。

3 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。

$str = "Shanghai";
echo bin2hex($str) . "<br>";
echo pack("H*",bin2hex($str)) . "<br>";

4 移除空白字符或其他预定义字符

rtrim() 函数移除字符串右侧的空白字符或其他预定义字符。

ltrim() 函数移除字符串左侧的空白字符或其他预定义字符。

trim() 函数移除字符串两侧的空白字符或其他预定义字符。

chop() 函数移除字符串右端的空白字符或其他预定义字符。

$str = "Shang hai";
echo trim($str,'hai');//Shang

如果不传预定义字符:则包括以下字符

"\0" - NULL
"\t" - 制表符
"\n" - 换行
"\x0B" - 垂直制表符
"\r" - 回车
" " - 空格

5 加密 md5(string,raw) ,sha1(string,raw)

$str = 'password';
echo md5($str,FALSE);  // 默认 32 字符十六进制数 
echo md5($str,TRUE);   // 原始 16 字符二进制格式
echo sha1($str,FALSE); // 默认 40 字符十六进制数
echo sha1($str,TRUE);  // 原始 20 字符二进制格式

6 数组与字符串相互转换 explode,implode

$str1 = 'I am Tom';
$arr1 = explode(' ', $str1);
print_r($arr1); 	//	Array ( [0] => I [1] => am [2] => Tom )
$arr2 = ['I','am','Tom'];
$str2 = implode(' ', $arr2);// join()是implode的别名
echo $str2;         //  I am Tom

7 大小写转换 strtoupper,strtolower

$str = 'abCDefg';
echo strtoupper($str); // ABCDEFG
echo strtolower($str); // abcdefg

8 字符串查找

// stripos (string,find,start) - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
// strpos(string,find,start) - 查找字符串在另一字符串中第一次出现的位置(区分大小写)
// start 可选。规定开始搜索的位置。

echo stripos("You love China,  China","china").PHP_EOL; // 9
echo strpos("You love China,  China","china").PHP_EOL;	// 1

// strripos(string,find,start) - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
// strrpos(string,find,start) - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)

echo strripos("You love china, China","china").PHP_EOL; // 34
echo strrpos("You love china, China","china").PHP_EOL;  // 23

// stristr(string,search,before_search) 函数搜索字符串在另一字符串中的第一次出现,并返回字符串的剩余部分(不区分大小写)
// strstr(string,search,before_search) 函数搜索字符串在另一字符串中的第一次出现,并返回字符串的剩余部分(区分大小写)
// 必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符
// 可选。默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分
echo stristr("You love china, China","China").PHP_EOL; // china, China
echo strstr("You love china, China","China").PHP_EOL;  // China

// strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
echo strrchr("You love china, China","china").PHP_EOL; // China 不区分大小写

9 比较

// strcasecmp(string1,string2) 比较两个字符串(不区分大小写)
// strcmp(string1,string2) 比较两个字符串(区分大小写)
// strncasecmp(string1,string2,length) 函数比较两个字符串(不区分大小写)
// strncmp(string1,string2,length) 函数比较两个字符串(区分大小写)

echo strcasecmp("China","china").PHP_EOL; 	// 0
echo strcmp("China","china").PHP_EOL; 		// -1
echo strncasecmp("China","china1",5).PHP_EOL;// 0
echo strncmp("China","china1",5).PHP_EOL;	// -1

10 编码与解码 url函数

// convert_uuencode() 函数使用 uuencode 算法对字符串进行编码。 
// convert_uudecode() 函数对 uuencode 编码的字符串进行解码。
$str = "Hello world!";
$uuencode = convert_uuencode($str); 
echo $uuencode.PHP_EOL; //,2&5L;&\@=V]R;&0A `
echo convert_uudecode($uuencode); // Hello world!

// urlencode urldecode rawurlencode rawurldecode 
// urlencode 将空格则编码为加号(+)rawurlencode 将空格则编码为加号(%20)

// base64_encode,base64_decode

$str = 'name=zhangsan&age=22';
parse_str($str);// 对应参数拆分成变量
echo $name.PHP_EOL; //zhangsan

$url = 'http://www.baidu.com?name=zhangsan&age=22';
$url_arr = parse_url($url); // 拆分成数组
print_r($url_arr).PHP_EOL; //Array ( [scheme] => http [host] => www.baidu.com [query] => name=zhangsan&age=22) 

$url_param = [
	'name' => $name,
	'age' => $age,
];
print_r($url_param).PHP_EOL; // Array ( [name] => zhangsan [age] => 22)
$quert_url = 'http://www.baidu.com?'.http_build_query($url_param); //http://www.baidu.com?name=zhangsan&age=22 
//使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串
print_r($quert_url).PHP_EOL; // http://www.baidu.com?name=zhangsan&age=22

11 输出 echo,print

// echo 可输出多个字符串变量,print只能输出一个字符串变量
// echo的效率相对比较快!
// print 有返回值,成功,返1,false,返0.   echo无返回值

$a = 'a';
$b = 'b';
echo $a,$b;		 //ab
echo ($a),($b);	 //ab
print $a;		 //a
echo ($a,$b);    //报错
print $a,$b;     //报错
print ($a,$b);   //报错
print ($a),($b); //报错

12 序列化与反序列化serialize,unseriasize

// serialize() 序列化 unserialize() 反序列化
$a = '12345';
$arr = ['a' => 1,'b' => 2];
$str = serialize($arr); 
echo $str; 	// a:2:{s:1:"a";i:1;s:1:"b";i:2;} a表示array,2是数组的长度,里面s表示值是一个string,'a'是键名,i:1表示索引是1
print_r(unserialize($str)); // Array ( [a] => 1 [b] => 2 )
echo serialize($a);// s:5:"12345"; s表示string,5是字符串的长度,'12345'是字符串的值

13 字符串创建

// PHP 支持 4 种方式来创建一个字符串:单引号、双引号、heredoc(相当于双引号) nowdoc(相当于单引号)

// 双引号可以解析变量,转义字符 单引号不解析变量,转移字符(除了 \ 和 ' );
// 单引号的效率比双引号要高(双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断)
$a = 'a';
$b = 'b';
$str1 = '$a';
$str2 = "$a";
echo $str1.PHP_EOL; // $a
echo $str2.PHP_EOL; // a
echo '\\a'.PHP_EOL; // \a
echo '\'a'.PHP_EOL; // 'a
echo "{$a}b";       // 变量和后面的字符串区分开

// 3. heredoc 语法结构
// 与双引号字符串相似。结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号;标记之间的变量可以被正常解析,但是函数则不可以。常用在输出包含大量 HTML 文档的时候。
echo <<< PHP
{$a}bcd
PHP
.'ef'.PHP_EOL; // abcdef 拼接字符串必须换行
echo <<< 'PHP'
{$a}bcd
PHP
.'ef'.PHP_EOL; // {$a}bcdef 拼接字符串必须换行

14 字符串长度 strlen和mb_strlen

echo strlen('我爱中国').PHP_EOL;  	// 12
echo mb_strlen('我爱中国').PHP_EOL;  // 4

15 截取与替换字符串substr和substr_replace,substr_count

// substr(string,start,length)
// string必需。规定在字符串的何处开始。
// 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始
// length 可选。规定被返回字符串的长度。默认是直到字符串的结尾。
// 正数 - 从 start 参数所在的位置返回的长度 负数 - 从字符串末端返回的长度
$str = 'china';
echo substr($str, 1,3).PHP_EOL;  // hin 从第二个位置截取4个字符 
echo substr($str, 1,-3).PHP_EOL; // h

// substr_replace(string,replacement,start,length) 把字符串的一部分替换为另一个字符串。
echo substr_replace($str,'ok',1,0).PHP_EOL;      // cokhina 添加
echo substr_replace($str, 'abcde', 0).PHP_EOL;   // abcde 替换
echo substr_replace($str, '',3).PHP_EOL; 		 // chi 删除

// substr_count(string,substring,start,length) 函数计算子串在字符串中出现的次数。
echo substr_count('abcabcd','a').PHP_EOL; // 2
echo substr_count('abcabcd','a',1).PHP_EOL; // 1

// substr_compare(string1,string2,startpos,length,case) 从指定的开始位置比较两个字符串
// startpos 开始的索引 case FALSE - 默认。区分大小写 TRUE不区分大小写
echo substr_compare('china ok', 'china', 0).PHP_EOL; // 3
echo substr_compare('china ok', 'china', 0,5).PHP_EOL; // 0
echo substr_compare('china ok', 'China', 0,5).PHP_EOL; // 1
echo substr_compare('china ok', 'China', 0,5,TRUE).PHP_EOL; // 0

16  str_shuffle() 函数随机打乱字符串中的所有字符。

17 strrev() 函数反转字符串。

18 进制转换函数

// Dec:十进制
// Hex:十六进制
// Oct:八进制
// Bin:二进制

//  bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。

echo bindec('10010').PHP_EOL; //2 -> 10
echo bin2hex('china').PHP_EOL; //2 -> 16
echo octdec('010').PHP_EOL; // 8 -> 10
echo decbin(10).PHP_EOL; // 10 -> 2
echo decoct(10).PHP_EOL; // 10 -> 8
echo dechex(10).PHP_EOL; // 10 -> 16
echo hex2bin("6368696e61").PHP_EOL; // 16 -> 2
echo hexdec("china").PHP_EOL; // 16 -> 10

// .任意进制转换的base_convert(string $number, int $frombase, int $tobase); 函数:

echo base_convert('china',16,2); // 16 -> 2

// chr() 函数从指定的 ASCII 值返回字符。

echo chr(61) . "<br>"; // 十进制
echo chr(061) . "<br>"; // 八进制值
echo chr(0x61) . "<br>"; // 十六进制值

19 超全局变量

$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问
$_SERVER  系统环境变量,是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组
$_REQUEST 用于收集HTML表单提交的数据。
$_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
$_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
$_FILES 主要用在当需要上传二进制文件的地方,录入上传一个abc.mp3文件,则服务器端需要获得该文件的相关信息,则通过变量 $_FILES 来取得。
name type size tmp_name error

$_FILES 超级全局变量包含通过POST方法向服务器上传的数据的有关信息。这个超级全局变量与其他的变量有所不同,它是一个二维数组,包含5个元素。
$_SESSION $_COOKIE 用于会话控制
$_ENV  服务器端环境变量


$_SERVER['SERVER_ADDR'];// 服务器ip
$_SERVER['REMOTE_ADDR'];// 浏览器ip

20 标签

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值