开发者社区> 问答> 正文

在foreach循环中取消设置数组值

我设置了一个foreach循环来遍历我的数组,检查某个链接,如果找到,则将其从数组中删除。

我的代码:

foreach($images as $image) { if($image == 'http://i27.tinypic.com/29yk345.gif' || $image == 'http://img3.abload.de/img/10nx2340fhco.gif' || $image == 'http://i42.tinypic.com/9pp2456x.gif') { unset($images[$image]); } } 但是它不会删除整个数组。可能与之有关$images[$image],因为这不是数组条目的键,而是内容?有没有办法在没有柜台的情况下做到这一点?

谢谢。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 12:13:58 391 0
1 条回答
写回答
取消 提交回答
  • 要回答最初的问题(在编辑后),需要取消设置($ images [1] [$ key]);

    现在,更多信息将介绍PHP的工作原理:您可以在foreach循环中安全地取消设置数组的元素,并且对于数组项是否具有&无关紧要。参见以下代码:

    $a=[1,2,3,4,5]; foreach($a as $key=>$val) { if ($key==3) unset($a[$key]); } print_r($a); 打印:

    Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 5 ) 如您所见,如果您在foreach循环中未设置正确的内容,则一切正常。

    2020-02-09 12:14:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载