我在关联数组上使用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
这可能吗?
答案 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字出现在字符串中,结果将是真的