字符串
字符串的定义方式
1.单引号(变量不会自动解析)
$str = 'php中文网';
// 单引号的中的变量不能被解析
echo '欢迎大家来到$str','<hr>';
// 需要解析可以用字符串'.'拼接方式
echo '欢迎大家来到'. $str,'<hr>' ;
// 字符串中如果要显示单引号那么要加入转义符(\)
echo '欢迎\'大家\'来到'. $str ,'<hr>';
2.双引号(变量可以自动解析)
$money = 5000;
// 双引号中的变量可以被解析(就可以不用拼接方式来解析变量了)
echo "这件商品的价格为$money 元",'<hr>';
// 如果字符串中有双引号或者其他特殊符号需要输出那么需要加入转义符
echo "这件商品的\"价格\"为$money 元",'<hr>';
// 需要变量和后面字符没有间隙那么变量需要用大括号包起来
echo "这件商品的价格为{$money}元",'<hr>';
3.nowdoc:可以看做是单引号的PLUS+(非常适合用于输出大量的文本和字符串)
$str = 'php中文网';
// 定界符名称必须用单引号包裹
echo <<<'STR'
'欢迎\'大家\'来到'. $str ,???<hr>
STR;
4.herdoc:可以看做双引号的PLUS+(非常适用于html+php混编)
// 定界符名称可以不用双引号包裹
echo <<<STR
'欢迎\'大家\'来到'. $str ,???
STR;
字符串函数
printf函数
// peintf():将输出的字符串按指定的格式模板输出
// printf('模板',替换模板中的占位符)
$arr = '欢迎来到%s培训班,学费为%d元';
printf($arr,'PHP',2000);
echo '<hr>';
printf($arr,'java',3000);
echo '<hr>';
// 用vprintf函数,那么第二个参数需要使用数组
vprintf($arr,['C语言',4000]);
echo '<hr>';
// 可以用sprintf()返回字符串后可以输出也可以存储在文件中用于传输
$arrs = sprintf($arr,'PHP',2000);
// 输出
echo $arrs;
// 也可以存储在文件中
file_put_contents('item.txt',$arrs);
implode函数
// implode():将一个数组中的数据转换为字符串
$arr = ['汇编','C语言','C++','java','php','python'];
echo implode('--', $arr),'<hr>';
$arrs = implode('--', $arr);
// 也可以把一个格式化的字符串转为数组
echo $arrs,'<br>';
$a = print_r(explode('--',$arrs),true);
$b = explode('--',$arrs);
echo "<pre>$a</pre><hr>";
// 可以把数组中的值定义到各个变量中
list($as,$bs,$cs,$ds,$es) = $b;
echo "as={$as}<br>bs={$bs}<br> cs={$cs}<br>ds={$ds}<br> es={$es}";
substr()函数和str_split()函数
$str = '能解决常规业务逻辑';
// 第一个参数:需要取的字符串,第二个参数:从第几个开始取(可以用负数),第三个参数取几个
// 中文一个字是3个字节
echo substr($str,0,),'<br>';
echo substr($str,0,12),'<br>';
echo substr($str,6,12),'<hr>';
// str_split()将字符串转为数组,并可以指定元素的宽度
$a = print_r(str_split($str,6),true);
echo "<pre>$a</pre>";
str_pad()函数,str_replace()函数,trim()函数
// str_pad()函数:将字符填充到指定长度
$a = 'PHP学习';
// 第一个参数:需要填充的字符串,第二个参数:填充到多长,第三个参数:从哪里开始
echo str_pad($a,23,'加油!'),'<br>';
echo str_pad($a,23,'加油!',STR_PAD_LEFT),'<hr>';
// str_replace()函数:替换某些字符可以通过参数查看替换了几次
// 如网上碰到的一些违禁字输出时会变**
// 不能出现的字
$arr = ['色情','暴力','违法','白痴'];
$str = '不要从事色情行业,不能通过暴力解决问题,不做违法之事,不要骂别人是白痴';
echo $str,'<br>';
echo str_replace($arr,'***',$str),'<br>';
// 也可以指定每个被替换的替换字符
echo str_replace($arr,['***','...','~~~','---'],$str),'<hr>';
// trim()函数:可以从字符串两边删除指定字符串
$string = '1549315加入PHP培训班,成就你的IT梦想167937815';
echo $string,'<br>';
// 删除两边的'15'
echo trim($string,'15'),'<br>';
// 也可以指定范围
echo trim($string,'1...5'),'<br>';
// 直接删掉数字
echo trim($string,'1...9'),'<br>';
strpos()函数和strstr()函数
// strpos()函数:查询字符位置
$str = '冬天:能穿多少穿多少; 夏天:能穿多少穿多少。';
// 查询'多少'字符是在第几个字节开始的
echo strpos($str,'多少'),'<br>';
// 也可以传了第三个参数指定从哪里开始
echo strpos($str,'多少',16),'<br>';
// strstr()可以获取指定字符后面的字符
echo strstr($str,'多少'),'<br>';
// 也可以获取前面的字符
echo strstr($str,'多少',true),'<br>';
总结
1.对于字符串有了更好的了解
2.字符串的函数需多理解
3.更多的字符串函数还需查看手册,熟悉