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;
}