PHP字符处理函数的问题总结_PHP教程

php中文网
发布: 2016-07-15 13:31:20
原创
844人浏览过

我们在学习php字符处理函数1. in_array()函数

Java代码

  1. $zero = "0";   
  2. $za = array("00");   
  3. if(in_array($zero, $za, true)){   
  4. echo 'in';   
  5. }else{   
  6. echo 'not in';   
  7. }  
  8. $zero = "0";  
  9. $za = array("00");  
  10. if(in_array($zero, $za, true)){  
  11. echo 'in';  
  12. }else{  
  13. echo 'not in';  
  14. }  

这段代码应该输出什么?答案是in,而不是not in。
然后测试一下这个:

Java代码

<ol class="dp-xml"><li class="alt"><span><span>$</span><span class="attribute">zero</span><span> = </span><span class="attribute-value">"0"</span><span>;   </span></span></li><li><span>$</span><span class="attribute">za</span><span> = </span><span class="attribute-value">array</span><span>("00");   </span></li><li class="alt"><span>if("0" == "00"){   </span></li><li><span>echo '</span><span class="attribute">0</span><span> == 00';   </span></li><li class="alt"><span>}   </span></li><li><span>$</span><span class="attribute">zero</span><span> = </span><span class="attribute-value">"0"</span><span>;  </span></li><li class="alt"><span>$</span><span class="attribute">za</span><span> = </span><span class="attribute-value">array</span><span>("00");  </span></li><li><span>if("0" == "00"){  </span></li><li class="alt"><span>echo '</span><span class="attribute">0</span><span> == 00';  </span></li><li><span>}  </span></li></ol>
登录后复制

返回'0'=='00'。

立即学习PHP免费学习笔记(深入)”;

所以以后要注意:对于字符串不是说in,就表示那个字符在array里面。

PHP字符处理函数2. strtolower()函数

我的解决方式是:

Java代码

<ol class="dp-xml"><li class="alt"><span><span>urldecode(strtolower<br /></span></span><span><span>(urlendoce($str))</span></span><span><span>);   </span></span></li><li><span>urldecode(strtolower<br />(urlendoce($str)));  </span></li></ol>
登录后复制

PHP字符处理函数3. trim()

如果面对的是英文字符,那么trim()应该就满足了,但是对于中文字符,就应该重写以trim掉全角的空格:

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

BibiGPT-哔哔终结者 28
查看详情 BibiGPT-哔哔终结者

Java代码

<ol class="dp-xml"><li class="alt"><span><span>function cntrim($value){   </span></span></li><li><span>return trim(ereg_replace("^(<br /> )*|( )*$","", $value));   </span></li><li class="alt"><span>}   </span></li><li><span> </span></li><li class="alt"><span>function cntrim($value){  </span></li><li><span>return trim(ereg_replace("^( <br />)*|( )*$","", $value));  </span></li><li class="alt"><span>}  </span></li></ol>
登录后复制

PHP字符处理函数4. empty():

这个就有点像上面那个in_array()了,如果你要判断一个textarea里面是否有值,不能光使用empty,因为'0'字符串也会返回empty(但奇怪的是'00'就不会返回empty),重写以应对这种情况:

Java代码

<ol class="dp-xml"><li class="alt"><span><span>function non_szero_empty<br />($value){   </span></span></li><li><span>return empty($value) && <br />$value != '0';   </span></li><li class="alt"><span>}   </span></li><li><span> </span></li><li class="alt"><span>function non_szero_empty<br />($value){  </span></li><li><span>return empty($value) &&<br /> $value != '0';  </span></li><li class="alt"><span>}  </span></li></ol>
登录后复制

PHP字符处理函数5. htmlentities():

与strtolower()类似,htmlentities也会出现一些转义gbk字符的问题,以致出现乱码。索性这样替换:

Java代码

<ol class="dp-xml"><li class="alt"><span><span>function _myhtmlentities($value){   </span></span></li><li><span>//$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">preg_replace</span><span>('/&<br />((#(d{3,5}|x[a-fA-F0-9]{4})|<br />[a-zA-Z][a-z0-9]{2,5});)/', '&\1'<br />, str_replace(array('&', '"', '</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>')<br />, array('&', '"', '</span><span class="tag"><</span><span>', <br />'</span><span class="tag">></span><span>'), $value));   </span></li><li class="alt"><span>$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">str_replace</span><span>(array('&', '"', <br />'</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array('&', '"', <br />'</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value);   </span></li><li><span>return $value;   </span></li><li class="alt"><span>}   </span></li><li><span>function _myhtmlentities($value){  </span></li><li class="alt"><span>//$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">preg_replace</span><span>('/&((#(<br />d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-<br />z0-9]{2,5});)/', '&\1', str_replace<br />(array('&', '"', '</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array(<br />'&', '"', '</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value));  </span></li><li><span>$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">str_replace</span><span>(array('&', '"', <br />'</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array('&', '"', <br />'</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value);  </span></li><li class="alt"><span>return $value;  </span></li><li><span>} </span></li></ol>
登录后复制

不过现在还在疑惑为什么htmlentities会出现乱码,这样改为什么又可行。计划有时间看源代码一探究竟。

以上就是我们这次要向大家介绍的PHP字符处理函数的全部内容。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446229.htmlTechArticle我们在学习 PHP字符处理函数1. in_array()函数 Java代码 $ zero = 0 ; $ za = array (00); if(in_array($zero,$za,true)){ echo'in'; }else{ echo'notin'; } $ zero = 0 ; $ za...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号