检查多维数组是否具有特定键的值

时间:2017-01-03 22:29:54

标签: php arrays key

我想要运行这个数组

$to_check = array(
    'message' => string(4) "test"
    'promo_code_id' => string(0) ""
    'shipping_fee' => int(0)
    'cart'=> array(
      'value_euro' => string(6) "100.00"
      'shipping_desc' => string(14) "Email Delivery"
      'shipping_fee' => string(4) "0.00"
      'discount' => array(
          'valid' => string(3) "yes"
          'amount' => string(4) "0.00" 
       )
      )
    }
}

查看这些键是否具有值

    $check['message']
    $check['shipping_fee']
    $check['cart'][value_euro']
    $check['cart'][shipping_desc']
    $check['cart'][discount']['valid']

有没有一种很好的方法可以循环遍历$ to_check数组而不创建所有单独的if语句?

1 个答案:

答案 0 :(得分:0)

你的问题不清楚,但我认为这会做你所要求的:

$to_check = array(
    'message' => 'yes',
    'shipping_fee',
    'cart', 
    'value_euro', 
    'shipping',
    'discount'
    );



foreach($to_check as $check){
    if(!is_array($check) && array_key_exists($check, $to_check)){
    //the key has a value, do something 
    }elseif(is_array($check)){
        foreach($check as $multi_array){
            if(array_key_exists($multi_array, $to_check)){
            //since your original array can be multidimensional     
            }
        }
    }
}