常用字符串处理函数
效果展示:
案例源码:
<?php
// 列举常用字符串处理函数
// 1、mt_rand() 返回随机整数。
$datas = '1ABECDKFIGJFafkiglskdjg12456875';
// strlen()返回字符串的长度:
echo mt_rand(0,strlen($datas));
echo '<hr>';
echo $datas{mt_rand(0,strlen($datas)-1)};
echo '<hr>';
// 2、printf(format,arg1,arg2...)将输出的字符串按特定的格式输出
// %s - 字符串
// %d - 带符号十进bai制数
printf('zhang %s','fugen');
echo '<hr>';
// 3、vprintf() 函数输出格式化的字符串
vprintf('SELECT * FROM `%s` LIMIT %d',['users',18]);
echo '<hr>';
// 4、sprintf() 函数把格式化的字符串写入一个变量中,只返回不输出
// %f - 浮点数
$number = 88;
$txt = sprintf("%f",$number);
echo $txt;
echo '<hr>';
// 5、vsprintf() 函数把格式化字符串写入变量中
// file_put_contents() 函数把一个字符串写入文件中
$sql = vsprintf('SELECT * FROM `%s` LIMIT %d',['db',12]);
echo $sql;
file_put_contents('dbs.txt',$sql);
echo '<hr>';
// 6、implode(),join() 数组->字符串
echo implode('-',['html','css','js','jquery','ajax']).'<br>';
echo join(' . ',['html','css','js','jquery','ajax']);
echo '<hr>';
// 7、explode() 函数把字符串打散为数组。
$name = explode(',','zhang,fu,gen,33,2020',5);
print_r($name).'<br>';
// 应用环境 => 连接数据库 pdo dsn
// list() 函数用于在一次操作中给一组变量赋值,该函数只用于数字索引的数组。
list($host, $username, $password) = explode(',', 'localhost,root,root,utf8,3306',4);
echo "mysql:host={$host},username={$username},password={$password}";
echo '<hr>';
// 8、substr($string,$start,$length) 函数返回字符串的一部分
echo substr('abcdef',2),'<br>';
echo substr('abcdefghijkl',2,6),'<br>';
echo '<hr>';
// 9、str_split():把字符串转数组,可以指定数组元素的宽度byte
print_r(str_split('我们心中的家henhuo',3));
echo '<hr>';
// 10、ascii函数 ord($char):得到指定字符的ASCII chr($ascii)
// ord() 函数返回字符串中第一个字符的 ASCII 值
echo ord('a'),'<br>'; //a=>十进制97
// chr() 函数从指定的 ASCII 值返回字符
echo chr(90),'<br>'; //十进制90 =>大写Z
// ASCII码表具体 https://baike.baidu.com/item/ASCII
$str = chr(046); //046=>&和号
echo("You $str me forever!");
echo '<hr>';
// 11、strcmp()比较两个字符串大小,大小写敏感
echo strcmp('ABCDE','ABCDE'). '<br>'; //0
echo strcmp('ABCDE','abcde'). '<br>'; //-1
echo '<hr>';
// 12、strcasecmp比较两个字符串大小,大小不敏感
echo strcasecmp('ABC','ABC'). '<br>';//0
echo strcasecmp('ABC','abC'). '<br>';//0
echo '<hr>';
// 13、str_replace() 其他字符替换字符串中的一些字符(区分大小写)
echo str_replace('转账','**','微信转账,支付宝转账',$count),'<br>';
$search = ['交友','广告','直播','带货'];
echo str_replace($search,'**','广告代理,直播教学,免费带货,异性交友'),'<br>';
echo str_replace($search,['***','===','&&&','+++'],'广告代理,直播教学,免费带货,异性交友');
echo '<hr>';
// 14、案例:生成一个5位数随机验证码,应用mt_rand()函数,随机索引值
$codes = 'bklsahdoisbfoiasncisdAADSKSKFDEPOMN1234578754';
$code = '';
for($i=0;$i<5;$i++){
// {mt_rand(0,strlen($codes)-1)}索引偏移量
$code .= '<span style="color:rgb('.mt_rand(0,255).','.mt_rand(0,255).','.mt_rand(0,255).')">'.$codes{mt_rand(0,strlen($codes)-1)}.'</span>';
}
echo $code;
echo '<hr>';
// 15、案例:变量在定界符,非常适合html php混编 :写模板
$username = "张福根";
$pwd = substr(password_hash('123456789',PASSWORD_BCRYPT),1,8);
$tel = 18782292170;
$gender = "male";
$email = '2017539632@qq.com';
$table = <<<EOF
<table border="1" cellSpacing="0" cellpadding="8">
<tr>
<td>$username</td>
<td>$pwd</td>
<td>$gender</td>
<td>$email</td>
</tr>
</table>
EOF;
echo $table;
案例总结:
- 1、mt_rand() 返回随机整数。
- 2、printf(format,arg1,arg2…)将输出的字符串按特定的格式输出
- 3、vprintf() 函数输出格式化的字符串
- 4、sprintf() 函数把格式化的字符串写入一个变量中,只返回不输出
- 5、vsprintf() 函数把格式化字符串写入变量中
- 6、implode(),join() 数组->字符串
- 7、explode() 函数把字符串打散为数组。
- 8、substr($string,$start,$length) 函数返回字符串的一部分
- 9、str_split():把字符串转数组,可以指定数组元素的宽度byte
- 10、ascii函数 ord($char):得到指定字符的ASCII chr($ascii)
- 11、strcmp()比较两个字符串大小,大小写敏感
- 12、strcasecmp比较两个字符串大小,大小不敏感
- 13、str_replace() 其他字符替换字符串中的一些字符(区分大小写)