Я использую 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
Это возможно?
Просто переберите все ключи и проверьте, содержит ли какой-либо термин термин Packaged
foreach($items as $key=>$value)
{
if(stristr($key,'Packaged')!==FALSE)
echo "Matching key is: $key";
}
array_key_exists не будет работать в этом случае, он будет выполнять точное совпадение, для вашего требования могут использоваться следующие:
foreach($array as $key=>$val){
$keyArray = explode(' ',$key);
if(in_array('Packaged',$keyArray))
echo "Key exists" ;
}
$test = "Package sdsd";
echo preg_match("/(Package)+/",$test);
Вы можете использовать простое регулярное выражение, как пример выше, если слово Package встречает строку, результат будет истинным