array_key_exists包含字符串

时间:2014-10-20 17:43:26

标签: php arrays array-key-exists

我在关联数组上使用array_key_exists来检测一个键是否像这样存在......

if (array_key_exists('Packaged price (£3.00)', $item))
{
echo 'The Key Exists';
}

这样可以正常工作,但我想修改它,以便检查密钥是否已打包在名称中。因此,不仅仅检查'打包价格(£3.00)',它也适用于以下......

Packaged cost (£3.00)
Packaged price (£17.00)
Packaged Item

这可能吗?

3 个答案:

答案 0 :(得分:1)

array_key_exists在这种情况下不起作用,它将执行完全匹配,可能会使用以下要求:

foreach($array as $key=>$val){
   $keyArray = explode(' ',$key);
   if(in_array('Packaged',$keyArray))
      echo "Key exists" ;
}

答案 1 :(得分:1)

只需遍历所有键并检查是否有任何键包含术语Packaged

foreach($items as $key=>$value)
{
      if(stristr($key,'Packaged')!==FALSE)
         echo "Matching key is: $key";
}

<强> Fiddle

答案 2 :(得分:0)

$test = "Package sdsd";

echo preg_match("/(Package)+/",$test);

你可以使用简单的正则表达式,作为上面的一个例子,如果Package字出现在字符串中,结果将是真的