php+销毁数组数据,php – 如何从数组输出中删除垃圾数据

我会这样做的

$images =[

'/tmp/php59iuBb', '/tmp/phpdRewVH', 'PicturesI.jpg', 'Screenshot.png'

];

$images = preg_grep('~^(?!/tmp/)~', $images);

print_r($images);

产量

Array

(

[2] => PicturesI.jpg

[3] => Screenshot.png

)

简单吧!

Preg grep针对数组运行正则表达式并返回匹配项.

在这种情况下

>〜^(?!/ tmp /)〜负向lookbehind – 确保匹配不以/ tmp /开头

这让我们想要什么.

另一种选择是

$images = array_filter($images,function($image){

return substr($image, 0, 5) != '/tmp/';

});

如果你没有感受到正则表达的爱.

PS我喜欢preg_grep它经常被忽视,因为它更容易理解,但代码更冗长. Preg Filter是另一个,您可以使用它来为整个数组添加前缀或后缀.例如,我用它来预先添加文件名数组等的路径.例如,这很简单:

$images =[

'/tmp/php59iuBb', '/tmp/phpdRewVH', 'PicturesI.jpg', 'Screenshot.png'

];

print_r(preg_filter('~^(?!/tmp/)~', '/home/images/', $images));

//or you can add a whole image tag, if you want, with a capture group (.+) and backrefrence \1

print_r(preg_filter('~^(?!/tmp/)(.+)~', '%5C1', $images));

产量

Array

(

[2] => /home/images/PicturesI.jpg

[3] => /home/images/Screenshot.png

)

Array

(

[2] => PicturesI.jpg

[3] => Screenshot.png

)

我认为你可能会发现“技巧”很有用,因为你可以删除坏的并同时添加一条通往商品的路径.他们值得一试.

我觉得我应该提到匹配文件扩展名也是如此,这可能也很有用,但我会留下另一天.

干杯!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值