【问题标题】:Delete a duplicate string appearing in all array elements删除所有数组元素中出现的重复字符串
【发布时间】:2020-06-10 03:18:36
【问题描述】:

在 Laravel 中,我可以使用以下命令从 Google 分析返回数据以获取访问次数最多的页面:

$FilterData =$this->parseResults($data)->pluck('url');

它将返回此 URL:

 [
    "/products/r4-04",
    "/products/r6-01",
    "/products/cu3-20",
    "/products/r4-51",
    "/products/zp-1",
    "/products/r5-31",
    "/products/cu3-64",
    "/products/cu6-01-1",
    "/products/cu6-01-2",
    "/products/r4-14",
    "/products/t4-74",
    "/products/cu-001",
    "/products/cu5-18",
    "/products/zp-8",
    "/products/td6-01",
    "/products/t4-14",
    "/products/c6-01"
]

现在我想删除所有 /products/ 字并查找 slug的产品。

【问题讨论】:

标签: php arrays laravel collections


【解决方案1】:

如果您只需要从每个数组值中删除/products/,您可以使用str_replace

$FilterData =$this->parseResults($data)->pluck('url');
$FilterDataNew = str_replace("/products/","",$FilterData);
var_dump($FilterDataNew);

【讨论】:

    【解决方案2】:
    <?php
    $products =  [
        "/products/r4-04",
        "/products/r6-01",
        "/products/cu3-20",
        "/products/r4-51",
        "/products/zp-1",
        "/products/r5-31",
        "/products/cu3-64",
        "/products/cu6-01-1",
        "/products/cu6-01-2",
        "/products/r4-14",
        "/products/t4-74",
        "/products/cu-001",
        "/products/cu5-18",
        "/products/zp-8",
        "/products/td6-01",
        "/products/t4-14",
        "/products/c6-01"
    ];
    function replace($product) {
       return str_replace('/products/', '', $product);  
    }
    $products = array_map('replace', $products);
    

    【讨论】:

      【解决方案3】:

      您可以简单地使用str_replace 来实现相同的目的。

      假设您的变量为$products

       $array =  str_replace('/products/', '', $products);
       dd($array);
      

      【讨论】:

      • 不需要array_map,在这种情况下只有str_replace可以工作
      猜你喜欢
      • 2023-04-09
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2016-02-02
      • 2020-05-08
      • 1970-01-01
      相关资源
      最近更新 更多