php字符串处理

字符串处理

<?php
    echo substr("1234567",2,4);//将字符串用substr处理,输出345
    echo substr(123456,2,4);//同样是345因为php是弱类型语言
    
$str="lamp"
$str(strlen($str)-1)="nginx";//结果为lamn

双引号中的变量解析总结

echo "A OS is $lamp[os]";//右方括号标志着索引的结束
echo "A OS is {$lamp['os']}.";//下标有引号就必须使用花括号
echo "A OS is {$lamp[os]}.";
echo "$square->width";
echo "{$square->width}00";//使用方括号括起来

php中常用的字符串输出函数

函数名功能描述
echo()输出字符串
print()输出一个和多个字符串
die()输出一条消息,并退出当前脚本
printf()输出格式化字符串
sprintf()把格式化字符串写入一个变量

函数echo

用来输出一个或多个字符串

<?php
    $str="what's LAMP";
    echo $str;

函数print

与echo一样,有返回值1/0

函数die

是exit函数别名,如果参数是字符串,则在退出前输出它,整数则为退出状态,255由php保留,o用于成功终止程序。

<?php
    $url="www.baidu.com";
    fopen($url,"r") or die("unable to connect to $url");

函数printf()

用于输出格式化字符串,与c语言用法一样。

常用字符串转换格式

格式功能
%%返回百分比符号
%b二进制
%c依照ASCII值的字符
%d带符号十进制
%e可续计数法
%u无符号十进制数
%f浮点数
%F浮点数
%o八进制数
%s字符串
%x小写十六进制数
%X大写十六进制数

函数sprintf

把格式化字符串以返回值的形式写入到一个变量

<?php
    $num=12345;
    $txt=sprintf("%0.2f",$num);//转换为保留两位小数的浮点数,并赋值给变量$txt
    echo $txt;

常用的字符串格式化函数

函数名功能描述
ltrim()从字符串左侧删除空格或其他预定义字符
rtrim()从字符串的末端开始删除空白字符或其他预定义字符
str_pad()把字符串填充为新的长度
strtolower()把字符串转换为小写
strtoupper()把字符串转换为大写
ucfirst()把字符串首字符转换为大写
Ucwords()把字符串每个单词的首字符转换为大写
nl2br()在字符串中的每个新行之前插入HTML换行符
htmlentities()把字符串转换为HTML实体
htmlspecialchars()把一些预定义的字符串转换为HTML实体
Stripslashes()删除由addcslashes()函数添加的反斜杠
strip_tags()剥去HTML,XML及PHP的标签
number_format()通过千位分组来格式化数字
strrev()反转字符串
md5()将一个字符串进行MD5计算
trim()从字符串的两端删除空白字符或其他预定义字符

大部分都是返回一个格式化后的新字符,而不是修改原字符串

去除空格和字符串填充函数

格式

函数名(字符串,过滤字符串(可选))函数为ltrim,rtrim,trim

过滤字符串默认去掉下列字符

"":ASCII32 空格。"\0":ASCII0 NULL。"\t":ASCII9 制表符。"\n":ASCII10 换行。"\r":ASCII13 回车

使用".."符号指定去除范围。例如"0..9"或"a..z"。echo ltrim($str,"0..9");

使用str_pad对字符串进行填充

格式str_pad(字符串,给定处理后字符串的长度,填补用的字符串(可选默认空格填充),填补方向STR_PAD_RIGHT/STR_PAD_BOTH/STR_PAD_LEFT(可选默认右填充))

echo str_pad($str,10,"_",STR_PAD_BOTH);

字符大小写替换

echo ucfirst(strtolower($lamp));

和HTML标签相关的字符串格式化

函数nl2br()在"\n"之前插入HTML换行符"<br/>"

echo nl2br("one line.\Another line.");

函数htmlspecialchars()将一些预定义的字符转换为HTML实体。

可以转换的字符串"&"转换为"&amp"。"""转换为"&quot"。"'"转换为"&#039"。"<"转换为"&lt"。">"转换为"&gt"。

格式htmlspecialchars(字符串,转换方式(可选默认ENT_QUOTES只转换双引号,保留单引号。ENT_QUOTES同时转换两种引号,ENT_NOQUOTES不转换引号),指定处理字符串的字符集默认字符集是ISO 8859-1);

在htmlspecialchars()的第三个参数中可以使用的合法字符集

字符集别名描述
ISO-8859-1ISO 8859-1西欧Latin-1
ISO-8859-15ISO 8859-15西欧Latin-9
UTF-8 ASCII兼容多字节8-bit Unicode
cp886ibm886,886DOS持有Cyrillic字母字符集
cp1251Windows-1251,win-1251,1251Windows持有的Cyrillic字母字符集
KOI8-Rkoi8-ru,koi8r俄文
BIG5950繁体中文
GB2312936简体中午
BIG5-HKSCS 繁体中文
Shift_JISSJIS,932日文
EUC-JPEUCIP日文
cp1252Windows-1252,1252Windows对于西欧特有的字符集

删除字符串strip_tags($str,"<front>");

strip_tags(被操作字符串,保留的参数(可选))

其他字符串格式化函数

函数strrev()将输入的字符反转。

echo strrev("www.baidu.com");

函数number_format()

number_format(格式化的字符串,规定使用多少小数(可选),作为小数点的字符串(可选),作为千位分隔符的字符串()可选)

number_format($number,2,",",".");

函数md5()

进行MD5加密

md5(字符串,布尔型数值(可选,默认值为FALSE,返回32位。TRUE返回16位))

字符串比较函数

按字节顺序进行字符串比较

int strcmp(string str1,string str2)//区分字符串中字母大小写的比较

int strcasecmp(string str1,string str2)//忽略字符串中字母大小写的比较

str1和str2等于则返回0,大于则返回1,小于则等于-1。

按自然排序进行字符串比较

即按照数字大小进行比较

使用strnatcmp()函数按自然排序法比较两个字符串

<?php
    $files=array("file11.txt","file22.txt","file1.txt","file2.txt");
    function mySort($arr,$select=false){
        for($i=0;$i<count($arr);$i++){
            for($j=0;$j<count($arr)-1;$j++){
                if($select){
                    if(strcmp($arr[$j],$arr[$j+1])>0){
                        $tmp=$arr[$j];
                        $arr[$j]=$arr[$j+1];
                        $arr[$j+1]=$tmp;
                    }
                }else{
                    if(strnatcmp($arr[$j],$arr[$j+1])>0){
                        $tmp=$arr[$j];
                        $arr[$j]=$arr[$j+1];
                        $arr[$j+1]=$tmp;
                    }
                }
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值