0

出力される配列の例を次に示します。

Array ( [CART] => Array ( [ITEMS] => Array ( [0] => Array ( [product_id] => 269194 [variation_id] => 0 [options] => Array ( ) [quantity] => 1 [product_name] => 15 Top Hits for Easy Piano [product_code] => HL102668 [product_price] => 14.9900 [original_price] => 14.9900 [default_currency] => 1 [customer_group] => [product_fields] => Array ( ) ) [1] => Array ( [product_id] => 266421 [variation_id] => 0 [options] => Array ( ) [quantity] => 1 [product_name] => Whistle [product_code] => HD245839 [product_price] => 3.9900 [original_price] => 3.9900 [default_currency] => 1 [customer_group] => [product_fields] => Array ( ) ) ) [LAST_UPDATED] => 1349829499 [NUM_ITEMS] => 2 ) [JustAddedProduct] => [CHECKOUT] => Array ( ) )

一意の製品ごとに配列があります (この例では、2 つの一意の製品があります)。1 つのみの場合もあれば、20 以上の一意の製品がある場合もあります。

私にとって重要な値は [product_code] です。最初の配列に [product_code] => HL102668 があることがわかります。2 番目に [product_code] => HD245839 があります。

[product_code] 値のいずれかに「HD」が存在するかどうかを確認するにはどうすればよいですか? そうであれば、false を返す必要があります。

ご協力ありがとうございました!

4

1 に答える 1

0

サブ配列にアクセスします。

  $products  = $array['CART']['ITEMS'];

サブ配列をループします。

   foreach ($products as $product)

単純な strstr または preg_match を使用した正規表現 (慣れている場合) を使用して、product_code に HD が存在するかどうかを確認します。

   if (strstr($product['product_code'], "HD")) {
          // Do your actions
   }
于 2012-10-10T00:59:40.430 に答える