2013-11-14 3 views
1

Я использую в массиве, чтобы попытаться загрузить конкретный выпадающий список, но я не уверен, почему он не работает - я не подвожу никаких данных от shop_shipping_rule_item_multipleне in_array работает правильно

массива:

array(2) { 
    [0]=> array(3) { 
     ["shop_shipping_rule_name"]=> string(13) "Overnight UPS" 
     ["shop_shipping_rule_item_multiple"]=> string(4) "4.00" 
     ["shop_shipping_rule_type_multi"]=> string(5) "multi" 
    } 
    [1]=> array(3) { 
     ["shop_shipping_rule_name"]=> string(13) "NZ Snail Mail" 
     ["shop_shipping_rule_item_multiple"]=> string(5) "35.00" 
     ["shop_shipping_rule_type_multi"]=> string(5) "multi" 
    } 
} 

Код:

<?php foreach($shipping_methods as $method): ?> 
    <?php if(in_array('shop_shipping_rule_type_multi', $method)): ?> 

      <option onchange="calShipping()" value="<?php echo $method['shop_shipping_rule_item_multiple'];?>"><?php echo $method['shop_shipping_rule_name'];?> | <?php echo $method['shop_shipping_rule_item_multiple']; ?></option> 

     <?php else: ?> 
      <option onchange="calShipping()" value="<?php echo $method['shop_shipping_rule_item_single'];?>"><?php echo $method['shop_shipping_rule_name'];?> | <?php echo $method['shop_shipping_rule_item_single']; ?></option> 

     <?php endif; ?> 

    <?php endforeach;?> 
+1

'in_array' для списков, не вложенные массивы. Он также рассматривает значения, а не ключи. – mario

+0

Я думаю, вам нужно 'array_key_exists()' вместо – Jacob

ответ

2

Current меня, если я не прав, так как вы проверяете для ключа в п массив вы можете взглянуть на * array_key_exists * Функция Источник: http://us3.php.net/array_key_exists

т.е.

array_key_exists('shop_shipping_rule_type_multi', $method) 

in_array проверяет, является ли значение существует в данном массиве

+0

Спасибо, что работает :) –

+0

np, галочка была бы очень признательна. – printfmyname

+0

:) Я должен был дождаться своего времени, чтобы подняться –

Смежные вопросы