아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
고상한얼룩말245
고상한얼룩말24519.06.13

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');로 나오게 하려는 건데 방법이 있을까요?

55글자 더 채워주세요.
답변의 개수
2개의 답변이 있어요!
  • <?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>";
    ?>