I want to run through this array
$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"
)
)
}
}
to see if these keys have values
$check['message']
$check['shipping_fee']
$check['cart'][value_euro']
$check['cart'][shipping_desc']
$check['cart'][discount']['valid']
only.
Is there a nice way to loop through the $to_check array without creating all individual if statements?
Your question is unclear but I think this will do what you're asking:
$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
}
}
}
}