Reputation: 2777
$gender = array ('boy', 'girl', 'trangender');
$shopping_data = array(
'boy' => array(
'accessory' => array('belt','wallet','watch'),
'age' => array(20,45,50)
),
'girl'=> array(
'accessory' => array('hair-clip','wallet','watch'),
'age' => array(30,40)
)
);
how to get value "hair-clip" by using $gender?
Upvotes: 0
Views: 52
Reputation: 23958
You mean loop and echo the items to each gender?
$gender = array ('boy', 'girl', 'trangender');
$shopping_data = array(
'boy' => array(
'accessory' => array('belt','wallet','watch'),
'age' => array(20,45,50)
),
'girl'=> array(
'accessory' => array('hair-clip','wallet','watch'),
'age' => array(30,40)
)
);
foreach($gender as $gen){ // loop genders
if(isset($shopping_data[$gen])){ // is gender in shopping_data
echo $gen .":\n";
foreach($shopping_data[$gen]["accessory"] as $acc){ // loop the accessories to the gender
echo $acc . "\n";
}
echo "\n\n";
}
}
output:
boy:
belt
wallet
watch
girl:
hair-clip
wallet
watch
Upvotes: 0
Reputation: 185
Can you merge the two arrays at all?
I was thinking something along the lines of:
$gender = array_merge(array_flip($gender), $shopping_data);
echo '<pre>';
var_dump($gender['girl']['accessory'][0]);
echo '</pre>';
exit;
Upvotes: 1