티스토리 뷰

1. 개념
array_walk 역할
array_walk는 배열에 있는 것을 하나씩 인식해서 지정한 function을 반복해서 실행함
2. 예제
array_walk 사용예시
PHP 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$testArray =[ "테스트1" => "101" , "테스트2" => "102" , "테스트3" => "101" ];
$dong_amt =[ "dong_info" => "101" , "dong_amt" => "180,000" ];
 
//101동에 사는 사람의 관리비가 얼마인지를 찾아봄
$result_walk = array_walk ( $testArray , calc_amt , $dong_amt );
 
function calc_amt( $val , $key , $amt_data );
{
$calc_dong_amt =0;
 
//testArray의 값을 val로 받아서 dong_amt배열의 키 값과 비교
if ( $val == $amt_data [ "dong_info" ])
{
$calc_dong_amt = $amt_data [ "dong_amt" ];
}
 
//key값은 testArray에 있는 key값을 의미
print_r( $key . "의 가격은" . $calc_dong_amt . "원 입니다.<br><br>" ]);
}
?>
결과 화면
코드 설명
array_walk는 foreach문과 비슷한 역할을 합니다.
배열에 있는 만큼 가져와서 반복해서 function을 실행해 줍니다.
예를 들어서 위에서와 같이 101동에 사는 테스트1과3의 관리비가 얼마인지를 확인해 볼려고 합니다.
그래서 array_walk를 사용해 확인 할 수 있습니다.
첫번째에는 배열 값을 가져오고 두번째는 호출하고자 하는 함수명을 입력하고 세번째는 알고싶은 정보가 있는 배열을 넣게 됩니다.
function 에는 이름을 설정 한뒤 3개의 값을 입력하게 됩니다.
$val에 있는 위치는 testArray에 있는 키가 아닌 값을 가져오게 됩니다.
$key에 있는 위치는 testArray에 있는 가 값을 가져오게 됩니다.
$amt_data에 있는 위치는 자신이 확인하고자 하는 배열을 입력해 주게 됩니다.
그래서 if문을 활용하여 testArray에 있는 값과 amt_data에 있는 dong_info를 비교합니다.
값이 일치하게 되면 amt_data에 있는 dong_amt를 calc_dong_amt에 담아주고 출력해 주면 위와 같은 결과가 나오게 됨을 확인할 수 있습니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday