【问题标题】:Duplicate remove from foreach从 foreach 中重复删除
【发布时间】:2018-07-26 10:12:52
【问题描述】:

我想删除重复的图像。如何使用array_unique?这是我尝试过的:

$text = 'text image.jpg flower.jpg txt image.jpg';
$pattern = '/[\w\-]+\.(jpg|png|gif|jpeg)/';
$result = preg_match_all($pattern, $text, $matches);
$matches = $matches[0];

foreach ($matches as $klucz => $image) { 
    echo $image;
}

【问题讨论】:

  • 尝试搜索php array_unique。那应该是你的首选

标签: php foreach duplicates array-unique


【解决方案1】:

array_unique 应该应用于数组。所以把你的字符串分成块并使用它:

$names = array_unique(explode(' ', $text));

【讨论】:

    【解决方案2】:

    首先,explode() " " 周围的字符串,然后调用 array_unique()。例如下面:

    $text = 'text image.jpg flower.jpg txt image.jpg';
    $arr = explode(" ", $text);
    $arr = array_unique($arr);
    print_r($arr); // Array ( [0] => text [1] => image.jpg [2] => flower.jpg [3] => txt )
    

    阅读更多:

    【讨论】:

      【解决方案3】:

      我使用 preg_match 因为在文本中图片来自路径

      $text = 'text image.jpg flower.jpg txt <img src="path/image.jpg" '>;
      

      【讨论】:

      • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
      • @BryceSiedschlaw:这是 OP 对他自己问题的回答 - 您的评论不恰当。
      • @CindyMeister 这似乎不是一个答案。如果这是对他们问题的实际答案,他们应该使用工作代码和有用的描述对其进行编辑。目前,它似乎更像是一条评论。
      猜你喜欢
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2014-11-03
      • 2014-12-10
      • 2020-04-19
      • 2015-08-19
      • 2018-03-13
      • 1970-01-01
      相关资源
      最近更新 更多