PHP file函数技巧--去除每个元素换行符,去除空行元素
在工作中,经常用要用php读取文件,file函数必不可少。
但有时候会碰到很棘手的问题,比如下面的代码:
<?php define("UIDS_","uids_"); $allUidArr=array(); for($i=1;$i<10;$i++){ $uids_path='./'.UIDS_.$i; if(!file_exists($uids_path)){ break; } $uidArr=file($uids_path); $allUidArr=$allUidArr + array_fill_keys($uidArr,$i); } echo $allUidArr[$user->uid]; //$user 为一个用户对象 属性 uid
在这样的情况下,是得不到正确的value的,原因是$user->uid 是不含换行符的,而file之后得到的$uidArr 各元素结尾是含有换行符的,当然$allUidArr 里的key 结尾必然也是含有的,但为这个数组遍历一遍也太不值得了,那么该怎么办呢?
这里要说了,我大PHP甚是威武!!! 竟然有参数可以控制!!!
$uidArr=file($uids_path , FILE_IGNORE_NEW_LINES ) ;
只需要这样,元素结尾的换行符既被忽略!
而且,flags参数还可以同时设置多个:
问题解决!!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步