php——08字符串函数

获取长度

strlen($str)    
实例:
// 获取字符长度例子

$str1 = NULL;

$str2 = 'AB';

$str3 = '中国';

echo strlen($str1); // 0
echo strlen($str2); // 2
echo strlen($str3); // 6   utf-8编码下 一个汉字3字节 



大小写相关


全部转为小写

strtolower($str)  


全部转为大写

strtoupper($str)  


句子首字母大写

ucfirst($str)   


单词首字母大写

ucwords($str) 


综合实例

/ 大小写转换例子
$str1 = 'HELLO WORLD';
$str2 = 'hello world';

$say1 = strtolower($str1);  // 全部小写
$say2 = strtoupper($str2);  // 全部大写

echo $say1;
echo '<br/>';
echo $say2;

echo '<hr/>';

// 首字母或句首单词大写例子
$str3 = 'this is a test';

echo ucfirst($str3);
echo '<br/>';
echo ucwords($str3);



替换相关

所谓的区分 和 不区分,是指 被替代部分的选取。

区分大小写

str_replace(被替代,替代部分,字符串)


不区分

str_ireplace(被替代,替代部分,字符串)


综合实例

// 把a都替换成b
$str = 'javascript';

echo str_replace('a','b',$str), '<hr/>';

echo str_replace('A','b',$str), '<hr/>';  // 失败
echo str_ireplace('A','b',$str), '<hr/>'; // 成功



删除相关


删除合法字符串的非法字符

ltrim($str [, 需删除字符]) 


删除合法字符串的非法字符

rtrim($str [, 需删除字符]) 


删除非法字符(包括前和后)

trim($str [, 需删除字符]) 



上述方法,在页面上没有差别,差别只体现在html代码上!!!

忽略第二个参数,将移除以下字符。
这里写图片描述



位置(index)相关


首次出现的位置

strpos(字符串,搜索字符[,开始位置])     区分大小写

stripos(字符串,搜索字符[,开始位置])    忽略


最后一次出现的位置

strrpos(字符串,搜索字符[,开始位置])    区分大小写

strripos(字符串,搜索字符[,开始位置])   忽略


综合实例

$str1 = 'javascript';

$str2 = 'a';
$str3 = 'A';

// 第一次出现的位置
echo strpos($str1,$str2);
echo stripos($str1,$str3);


// 最后一次出现的
echo strrpos($str1,$str2);
echo strripos($str1,$str3);

注:
失败将返回false



截取相关


普通截取

substr(字符串, 开始位置[,长度])
注意:

1)如果省略长度,则返回从开始位置到结尾之间的字符串;

2)如果开始位置 为负数,则倒这数;

3)如果长度为负数,将会从末尾取出相应数量的字符。


实例
$str1 = 'javascript';

echo substr($str1,0,4);  // java
echo '<hr/>';

echo substr($str1,0);    // javascript
echo '<hr/>';

// 开始位置负数
echo substr($str1,-2);   // pt
echo '<hr/>';

// 长度负数
echo substr($str1,-5,-2); // cri   去除后面2位字符


截取前面或后面的内容
strstr (字符串,搜索字符[,规则])    区分大小写

stristr (字符串,搜索字符[,规则])   忽略

规则:

  • (默认) false,向后搜索
  • true,向前搜索


最后一次出现位置及后面的内容

包括搜索字符!!!

strrchr(字符串,搜索字符)


综合实例
$str1 = 'javascript';

$str2 = 's';

$str3 = 'a';

// 返回第一次出现,之前的内容
echo strstr($str1,$str2,true);   // java
echo '<hr/>';

// 返回第一次出现,之后的内容
echo strstr($str1,$str2);        // script
echo '<hr/>';


// 返回最后一次出现
echo strrchr($str1,$str3);       // ascript
echo '<hr/>';



反转输出

将字符串反转输出,例如 :java ==》 avaj。

strrev(字符串)



加密

注意,字符串最好包含大小写字母、数字、下划线等等才不容易被破解。还可以进行多次加密。

md5(字符串)



随机打乱

每次刷新都是不同的打乱过的字符串

str_shuffle(字符串)



转换与被转换成数组


字符串转数组

explode(分隔字符,字符串[,limit])

返回数组,数目有第三个参数决定

可能的值:

  • 大于 0
    返回包含最多 limit 个元素的数组

  • 小于 0
    返回包含除了最后的 -limit 个元素以外的元素的数组

  • 等于0
    返回包含一个元素的数组


实例
// 分割
$str2 = 'A|B|C|D';

print_r(explode('|',$str2));   // Array ( [0] => A [1] => B [2] => C [3] => D )

print_r(explode('|',$str2,-1)); // Array ( [0] => A [1] => B [2] => C)

print_r(explode('|',$str2,0));  // Array ( [0] => A|B|C|D )


数组转字符串

implode([分隔符,]数组)   

join()

上面两个方法完全一样。



字符串占位符&&格式化字符串

sprintf(%.. ,arg1,arg2.....)
规则:
%% - 返回一个百分号 %
%b - 二进制数
%c - ASCII 值对应的字符
%d - 包含正负号的十进制数(负数、0、正数)
%e - 使用小写的科学计数法(例如 1.2e+2)
%E - 使用大写的科学计数法(例如 1.2E+2)
%u - 不包含正负号的十进制数(大于等于 0)
%f - 浮点数(本地设置)
%F - 浮点数(非本地设置)
%g - 较短的 %e 和 %f
%G - 较短的 %E 和 %f
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)


占位符用法例子

$num = 5;

$str = 'guangzhou';

$txt = sprintf('Here is %s , and i hava been here for %d years', $str, $num);

echo $txt;  // Here is guangzhou , and i hava been here for 5 years


格式化用法

如果%个数多于arg参数,则需要在%号后面加上数字\$占位。

附加格式,需要使用 .

实例
$num = 5;
$reu = -5;
echo sprintf("这是带有2位小数的结果:%1\$.3f, 这是不带小数的结果:%1\$d,数字到底是%2\$d",$num,$reu); 

.3f 指的是保留三位小数的进行浮点数类型格式化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值