【问题标题】:Check if the character exists in the collection laravel检查字符是否存在于集合 laravel 中
【发布时间】:2023-02-09 21:47:36
【问题描述】:

我有一个包含邮政编码的 CSV 文件。有些城市只有一个邮政编码,而有些城市有多个邮政编码。

istat;municipality;region;province_abbreviation;province;zip_code_check;zip_code;lat;lng
60006;Anagni;Lazio;FR;Frosinone;"03012";"03012";41.74393633;13.15452041
67002;Ancarano;Abruzzo;TE;Teramo;64010;64010;42.83680898;13.74139609
42002;Ancona;Marche;AN;Ancona;60121-60131;60121;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60122;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60123;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60124;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60125;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60126;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60127;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60128;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60129;43.61675973;13.51887537
42002;Ancona;Marche;AN;Ancona;60121-60131;60131;43.61675973;13.51887537

我在 $collection 中得到这些我想提取在 zip_code_check 列中有 - 的行。我试过 $collection->where('zip_code_check', 'like'. '%-%') 但没有成功。当zip_code_check 列有- 时,有什么方法可以获取行吗?

【问题讨论】:

    标签: php laravel collections


    【解决方案1】:

    你应该使用 (" ") 而不是 (' '),像这样:('zip_code_check', 'like', "%-%")

    【讨论】:

      【解决方案2】:

      而不是使用 where + like,另一种可能的解决方案:

      use IlluminateSupportStr;
      
      $filteredCollection = $collection->filter(function($item){
          return Str::contains($item->zip_code_check, '-');
      });
      

      【讨论】:

        【解决方案3】:

        我使用了 str_contains 但它返回了一个布尔值而不是过滤行。这是我解决问题的方法。

        $filter = $collection->filter(function($value, $key) {
        if (str_contains($value['zip_code_check'], '-')) {
                return $value;
             }
        });
        

        【讨论】:

          猜你喜欢
          • 2019-01-21
          • 1970-01-01
          • 1970-01-01
          • 2016-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-06
          • 2018-08-11
          相关资源
          最近更新 更多