【问题标题】:How can I figure out in array each element contains a certain word?如何在数组中找出每个元素都包含某个单词?
【发布时间】:2018-10-07 11:49:30
【问题描述】:

我正在尝试在每个数组元素中添加单词。但是其中一个元素有这个词。那就是我想传递它,并添加其他元素这个词。

这是我的数组。

string(56) "//sumai.tokyu-land.co.jp/bukken/detail/index/id/K4810000"
[1]=>
string(56) "//sumai.tokyu-land.co.jp/bukken/detail/index/id/K4780000"
[2]=>
string(56) "//sumai.tokyu-land.co.jp/bukken/detail/index/id/K4720000"
[3]=>
string(56) "//sumai.tokyu-land.co.jp/bukken/detail/index/id/K4760000"
[4]=>
string(62) "https://sumai.tokyu-land.co.jp/bukken/detail/index/id/K4770000"
[5]=>
string(56) "//sumai.tokyu-land.co.jp/bukken/detail/index/id/K4740000"

第四个有https:,但另一个没有。我想把http:全部加进去。

$http = 'https:';

foreach($iframeLink as $value)
{
    if (!$value contains 'http')
        $iframe[] = $http.$value;
}

Contains 不工作。这很简单,但我无法弄清楚。有什么帮助吗?谢谢!

【问题讨论】:

  • 代码是php,但你的标签包含javascript。

标签: php arrays string


【解决方案1】:

您可以使用stripos() 函数。它在字符串中找到给定子字符串的第一次出现。所以,如果stripos($value,'https:') 返回false;它基本上意味着字符串$value 不包含'https:'

foreach($iframeLink as $value)
{
    if ( stripos($value,'https:') === false )
        $iframe[] = $http.$value;
}

现在,'https: 可能存在于字符串中的其他位置。并且,您需要在'https: 不在给定字符串开头时添加它。在这种情况下,您可以尝试以下方法:

foreach($iframeLink as $value)
{
    if ( stripos($value,'https:') > 0 )
        $iframe[] = $http.$value;
}

【讨论】:

    【解决方案2】:

    在laravel中有一个辅助函数str_contains()

    foreach($iframeLink as $value)
    {
        if (str_contains($value, 'https:')) $iframe[] = $http.$value;
    }
    

    【讨论】:

      【解决方案3】:

      使用substr() 选择字符串的特殊部分并检查是否为https

      $http = 'https:';
      foreach($iframeLink as $key=>$value){
          if (substr($value, 0, 6) != $http)
              $iframe[] = $http.$value;
      }
      

      demo查看结果

      【讨论】:

        【解决方案4】:

        您可以解析 URL 并检查它scheme

        $http = 'https:';
        foreach($iframeLink as $value)
        {
            $parsedUrl = parse_url($value);
           if ($parsedUrl['scheme']!='http') {
             $iframe[] = $http.$value;
           }
        }
        

        【讨论】:

          猜你喜欢
          • 2018-04-13
          • 1970-01-01
          • 1970-01-01
          • 2014-09-07
          • 1970-01-01
          • 2020-03-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多