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甚是威武!!! 竟然有参数可以控制!!!

image

image

$uidArr=file($uids_path , FILE_IGNORE_NEW_LINES ) ;

只需要这样,元素结尾的换行符既被忽略!

而且,flags参数还可以同时设置多个:

image

问题解决!!大笑

详见 http://www.php.net/manual/zh/function.file.php

原文地址:https://www.cnblogs.com/gaoj87/p/2934062.html