php 배열에서 특정 기준에 맞는 배열만 가져올 수 있을까요?
예를 들어
$all_array = array('a'=>'1', 'b'=>'2', 'c'=>'3', 'd'=>'4', 'e'=>'5'); 이 있습니다.
그리고 $find_array = array('b', 'd', 'e'); 라는 배열도 있습니다.
제가 하고 싶은 것은 $all_array에서 $find_array에 해당되는 값을 구하고 싶습니다.
$result_array를
array('b'=>'2', 'd'=>'4', 'e'=>'5'); 로 나오게 하던가,
array('2', '4', '5');로 나오게 하려는 건데 방법이 있을까요?
- <?php $all_array = array('a'=>'1', 'b'=>'2', 'c'=>'3', 'd'=>'4', 'e'=>'5'); $find_array = array('b', 'd', 'e'); $result = array(); foreach ($find_array as $value) { if(isset($all_array[$value])) { $result[$value] = $all_array[$value]; } } var_dump($result); ?><?php $all_array = array('a'=>'1', 'b'=>'2', 'c'=>'3', 'd'=>'4', 'e'=>'5'); $find_array = array('b', 'd', 'e'); $result = array(); foreach ($find_array as $value) { if(isset($all_array[$value])) { $result[] = $all_array[$value]; } } var_dump($result); ?>
foreach를 쓰면 쉽게 구할 수 있습니다.
안녕하세요?
아래와 같이 foreach 구문과 arraykeyexists를 이용하여 추출 할 수 있습니다.
<?php
$all_array = array('a'=>'1', 'b'=>'2', 'c'=>'3', 'd'=>'4', 'e'=>'5');
$find_array = array('b','d','e');echo "case 1<br>";
$result_array = array();foreach ($find_array as $val)
{
if(arraykeyexists($val, $all_array))
{
$resultarray[$val] = $allarray[$val];
}
}printr($resultarray);
echo "<br>";echo "case 2<br>";
$result_array = array();foreach ($find_array as $val)
{
if(arraykeyexists($val, $all_array))
{
$resultarray[] = $allarray[$val];
}
}printr($resultarray);
echo "<br>";
?>