1

このようにキーが存在するかどうかを検出するために、連想配列で 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

これは可能ですか?

4

3 に答える 3

1

すべてのキーをループして、キーに用語が含まれているかどうかを確認するだけですPackaged

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

フィドル

于 2014-10-20T17:53:44.073 に答える
1

その場合、 array_key_exists は機能しません。完全一致を実行します。要件のために、次を使用できます。

foreach($array as $key=>$val){
   $keyArray = explode(' ',$key);
   if(in_array('Packaged',$keyArray))
      echo "Key exists" ;
}
于 2014-10-20T17:52:25.477 に答える
0
$test = "Package sdsd";

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

上記の例のように、単純な regex を使用できます

于 2014-10-20T18:00:20.307 に答える