Php 如何计算数组中的每个元素都包含某个单词?

Php 如何计算数组中的每个元素都包含某个单词?,php,arrays,string,Php,Arrays,String,我试图在每个数组元素中添加单词。但其中一个元素有这个词。这就是我想要传递的,并添加单词“其他元素” 这是我的数组 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.j

我试图在每个数组元素中添加单词。但其中一个元素有这个词。这就是我想要传递的,并添加单词“其他元素”

这是我的数组

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
不工作。这件事很简单,但我想不出来。有什么帮助吗?谢谢大家!

您可以使用函数。它查找字符串中给定子字符串的第一个匹配项。因此,如果
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;
}

您可以解析URL并检查它


在laravel中有一个辅助函数
str\u contains()

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

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

检查

中的结果代码是php,但您的标记包含javascript。
foreach($iframeLink as $value)
{
    if (str_contains($value, 'https:')) $iframe[] = $http.$value;
}
$http = 'https:';
foreach($iframeLink as $key=>$value){
    if (substr($value, 0, 6) != $http)
        $iframe[] = $http.$value;
}