php程序开发!系统提供的字符串函数注意:当编码需要用到函数时,首先去查找是否有过系统定义的函数功能可以帮我们实现编码效果,当然我们也可以自己编写代码实现封装方法。但是系统函数的调用执行效率要比自己编写封装的方法的执行效率高得多。字符串的定义字符串是属于四种标量类型里其中的一种类型。用来存储字符。它是程序开发中使用得最多的一种数据结构。我们可以使用双引号、单引号、反引号、定界符四种第一方法。双引号声明一个变量:$str=“hello”;这种定义方法可以在双引号里面执行变量。$a=100;$str=“###$a###”$str=“####${a}aaaaa”//不想用空格就用大括号包裹变量名这种定义方法可以包含任意转义字符。$str=“thisisa‘demo’”;$str=“thisisa\”demo\””;单引号定义一个字符串:$str=‘thisisa\’string\’demo\\’;不能在单引号里执行变量,如果要使用只能使用.来连接变量。只能使用部分转义字符。包括(\’、\\)两种。反引号定义一个字符串(数字1旁边的~):$str=`ipconfig\all`;在反引号里使用的是服务器的命令。可以执行系统中cmd中的任意命令。定界符定义字符串():$str=testthisisa“demo”hahaha,testestesttest;以三个小于号+任意名字定义字符串的开始。另起一行输入任意字符串内容。另起一行使用后面的名字作为字符串的结尾。定界符和双引号一样,里面可以执行变量,也可以使用任意转义字符。它里面包含的字符串内容没有任何限制,甚至可以在里面使用双引号。字符串的函数设置字符串函数和一般函数一样,需要注明参数意义。包括:–函数功能介绍。–需要几个参数,每个参数的类型,那些参数是必须的,那些参数是可选的。–函数的返回值,返回值的类型。系统函数有1000多个,所以每个函数必须这样声明,否则无法看懂方法如何使用。只有所有人都这样做才能保证程序的可读性。我为人人,人人为我。PHP中的输出函数常用输出函数包括:echo()print()die()printf()sprintf()print_r()var_dump()1.echo()函数?phpecho(“thisisademo”);echo“thisisademo”;?有些函数可以省略括号,直接在后面跟上参数,例如之前学的include“test.php”就可以这样写。print()函数?phpprint“thisisademo”;print(“thisisademo”);?这个方法有bool返回值,输出成功返回1,输出失败返回0.所以可以当做条件使用。?phpif(!print(“hello”)){echo“输出失败”;}?die()函数?phpdie(“一般用于错误判断”);echo“这条语句输出吗?”;?die()函数在输出了文字以后会退出程序,所以后面的代码无法执行。相当于:?phpecho“一般用于错误判断”;exit;echo“这句代码也不执行”;?printf()函数?php$sum=100;printf(“%s---%d---%b---%x---%o---%c---%f”,$num,$num,$num,$num,$num,$num,$num);?带格式输出。%s:字符串格式、%d:十进制整型格式、%b:2进制格式、%x:十六进制格式、%o:八进制格式、%c:ASCII码格式、%f:浮点数格式(%.2f表示保留小数点后2位)。printf(“%’#20s”);表示字符串不足二十位前面用定义的符号(“#”)补齐,通常用来做右对齐格式显示。printf(“%’#-20s”);同上,右面补齐,左对齐。sprintf()函数用法同printf(),但是sprintf()函数不做输出,而是把输出的内容通过返回类型保存到其它变量。?php$sum=100;$str=sprintf(“%s---%d---%b---%x---%o---%c---%f”,$num,$num,$num,$num,$num,$num,$num);echo$str;?小提示:用来保存后的变量可以储存到数据库中或执行其他操作。print_r()函数输出数组$arr=array(1,2,3,4);echoprint_r($arr);遍历输出,不像循环可以调整格式,所以通常用来做集合调试。项目中还是用循环遍历。var_dump()函数查看类型并显示数据$arr=array(1,2,3,4);var_dump($arr);可以用来调试使用字符串处理函数ltrim();//去掉字符串左边的空格rtrim();//去掉字符串右边的空格trim();//去掉字符串两边的空格strlen();//获取字符串长度strrev();//反转字符串顺序strtolower();//所有字符转小写strtoupper();//所有字符转大写ucfirst();//将字符串中第一个字符改为大写ucwords();//将字符串中每个单词第一个字母改为大写字符串处理函数explode();//使用一个字符串分割另一个字符串implode();//联合一组字符串substr();//取子字符串strstr();//返回字符串中某字符串开始处至结束的字符串strrchr();//返回组后出现的字符串到结束的位置。strpos();//寻找字符串中某字符最先出现的位置。strrpos();//寻找字符串中某字符最后出现的位置。str_pad();//字符串的填补函数Trim()函数$str=“abc”;//左三右四echostrlen($str);//10echostrlen(ltrim($str))//7echostrlen(rtrim($str))//6echostrlen(trim($str))//3strrev()函数?php$str=“hello”;$newstr=strrev($str);echo$str;echo$newstr;?反转字符串保存到新变量,原有字符串不变。strtolower()&strtoupper()?php$str=“HellO”;echostrtolower($str);//helloechostrtoupper($str);//HELLO?通常在密码比对时使用,数据统一大小写。ucfirst()函数&ucwords()函数?php$str=“thisisademo”;echoucfirst($str);//Thisisademoechoucwords($str);//ThisIsADemo?explode()函数?php$str=“thisisademo”;$newstr=explode(“”,$str);$newstr1=explode(“”,$str,2);var_dump($newstr);//返回4个元素的数组var_dump($newstr1);//返回2个元素的数组array(“this”,“isademo”)?explode()函数用来做分割字符串,上面的例子用空格把字符串分割成4份。可选第三个参数,指定分割多少份,剩余的部分放到后面的数组中。implode()函数?php$arr=array(“this”,”is”,”a”,”demo”);$str=implode(“”,$arr);$str1=implode(“#”,$arr);echo$str;//“thisisademo”echo$str1;//”this#is#a#demo”?用一组较小的字符串创建一个大字符串,第一个参数是用来做连接的字符串,可以是任意字符串。此字符串还可以写作join()。substr()函数?php$str=“abcdefg”;$newstr=substr($str,3,3);echo$newstr;//def?参数的意义分别为(要操作的字符串,从指定下标开始截取,截取字符串的长度)。strstr()函数?php$str=“abcdefgcdef”;echostrstr($str,”cd”);//cdefgcdefechostrchr($str,”cd”);//cdefgcdef?返回字符串中某字符串开始处至结束的字符串,此方法还可以写作strchr()。如果字符串中有多个地方相同,则从第一个匹配的位置开始截取。strrchr()函数?php$str=“abcdefgabcdefg”;echostrrchr($str,”f”);//fg?返回最后出现的字符串到结束的字符串。strpos()函数?php$str=“abcdefgabcdefg”;echostrpos($str,”f”);//5echostrpos($str.”f”,6);//12?该函数返回一个整型,查询第二个参数在第一个参数中第一次出现的索引位置。第三个参数表示从第几个索引位置开始查找。strrpos()函数?php$str=“abcdefgabcdefg”;echostrrpos($str,”f”);//12?寻找字符串中某字符最后出现的位置。通常用这个方法获取文件后缀名。例如:?php$url=“”;$loc=strrpos($str,”/”)+1;$filename=substr($url,$loc);echo$filename;//test.php;?str_pad()函数?php$url=“”;$loc=str_pad($url,15,”#”,STR_PAD_BOTH);echo$loc;//#第一个参数是要被填补的字符串,第二个参数表示规定的字符串长度(长度小于原字符串就不做填补),第三个参数是用来填补的字符串,第四个参数是内置的系统常量共有三个值(STR_PAD_LEFT、STR_PAD_RITHT、STR_PAD_BOTH)分别表示在左、右、两边填补。字符串的高级函数按字节进行字符串比较strcmp();strcasecmp();按自然排序法对字符串比较strnatcmp();字符串的模糊比较soundex();similar_text();strcmp()函数?php$str1=“ahello”;$str2=“bhello”;if(strcmp($str1,$str2)==0){echo$str1.”等于”.$str2;}else{echo$str1.”不等于”.$str2;}?对比的是不同字符的ASCII码。如果第一个参数大于第二个参数的ASCII码返回-1,如果第一个参数小于第二个参数的ASCII码返回1,如果字符完全相同则返回0strcasecmp()函数?php$str1=“hello”;$str2=“HELLO”;if(strcasecmp($str1,$str2)==0){echo$str1.”等于”.$str2;}else{echo$str1.”不等于”.$str2;}?同样是对比字符串是否一致,但是对比的时候不区分大小写。strnatcmp()函数?php$str1=“12”;$str2=“111”;echostrnatcmp($str1,$str2);?按照自然数规律比较,从字符串的角度来比较,”12“第二个字符的2一定大于”111”第二个字符1。但是从自然数的角度比较111大于12。soundex()函数?php$str1=“sun”;$str2=“son”;echosoundex($str1);//输出发音码S500echosoundex($str2);//输出发音码S500if(soundex($str1)==soundex($str2)){echo“相等”;}?此函数是比较单词的发音码来确定大小。如果你觉得两个单词发音差不多,就比较一下