유용한 함수 array_filter 입니다.
유용한 함수 array_filter
(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filters elements of an array using a callback function
배열의 각 원소들을 콜백 함수의 인자로 각각 넣어서 함수의 결과값이 true(1) 인것만 뽑아서 배열로 반환.
array array_filter ( array $input [, callback $callback ] )
예제
function odd($var){
// returns whether the input integer is odd, $var 가 홀수 일경우 1 을 반환, 짝수일 경우 0 을 반환
return($var & 1);
}
function even($var){
// returns whether the input integer is even, $var 가 짝수 일경우 true 를 반환, 홀수 일경우 false 를 반환
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
결과
Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
참고 - 콜백함수 란
간단하게 설명하면. 특정 함수 내에서 처리 과정 내에서 자동적으로 호출 되어 사용되는 함수
즉 array_filter 를 직접 구현해 보면
function array_filter_test($array, $function=''){
if (!is_array($array)) return Array();
$return = Array();
foreach($array as $k => $v){
if (!empty($function)) $result = call_user_func($function, $v);//여기서 콜백 함수가 사용됨
else $result = !empty($v);
if (!empty($result)) $return[$k] = $v;
}
return $return;
}
echo "Odd :\n";
print_r(array_filter_test($array1, "odd"));
echo "Even:\n";
print_r(array_filter_test($array2, "even"));
게시글 목록
| 번호 | 제목 |
|---|---|
| 27425 | |
| 5811 | |
| 5810 | |
| 27422 | |
| 19316 | |
| 5809 | |
| 5808 | |
| 5807 | |
| 5806 | |
| 27421 | |
| 5801 | |
| 24540 | |
| 24537 | |
| 5798 | |
| 30863 | |
| 5795 | |
| 27416 | |
| 5793 | |
| 27405 | |
| 27403 | |
| 19314 | |
| 19312 |
PHP
우분투 서버 셋팅하는 방법
1
|
| 19309 | |
| 19306 | |
| 19304 |
MySQL
트리거를 이용하여 날짜 자동 업데이트법
1
|
| 19303 | |
| 5791 | |
| 27397 | |
| 19298 |
MySQL
mysql 환경 설정
4
|
| 19293 |
JavaScript
달력소스입니다.
4
|
| 19281 |
PHP
웹사이트 주소 알아내기
11
|
| 19278 |
기타
오라클바인딩기술
2
|
| 19275 | |
| 5787 | |
| 5783 | |
| 5781 | |
| 5773 | |
| 32027 | |
| 19271 | |
| 19269 | |
| 19265 |
정규표현식
IE11에서 사라지는것들이랍니다~
3
|
| 19264 | |
| 5771 | |
| 5770 | |
| 27391 | |
| 27389 | |
| 27387 | |
| 5768 | |
| 27384 | |
| 5767 | |
| 5765 | |
| 27379 | |
| 27374 | |
| 5763 | |
| 27371 | |
| 30846 | |
| 5758 | |
| 27365 | |
| 5756 | |
| 5753 | |
| 19256 |
기타
웹접근성 인증 방법
7
|
| 19250 |
MySQL
my-sql 서브쿼리^^
5
|
| 19248 |
MySQL
기초적인 my sql 쿼리문~
1
|
| 5748 | |
| 19245 |
jQuery
xhtml vs json
2
|
| 19244 |
정규표현식
정규식 표현법
|
| 19242 |
웹서버
리눅스 기본 명령어
1
|
| 19241 |
jQuery
ajax 예제 입니다.
|
| 5746 | |
| 5744 | |
| 5738 | |
| 24534 | |
| 5733 | |
| 19232 |
jQuery
jQuery Performance
8
|
| 19228 |
jQuery
jQuery Event - 이벤트에 생명을~
3
|
| 19225 |
jQuery
jQuery Event - bind() 메서드
2
|
| 19222 |
jQuery
jQuery Event - 이벤트 지원 메서드
2
|
| 19220 | |
| 19219 | |
| 19217 | |
| 19216 |
jQuery
jQuery Core
|
| 19215 | |
| 19214 |
jQuery
jQuery Traverse - Filtering
|
| 19213 | |
| 19212 | |
| 19211 | |
| 19210 | |
| 19209 | |
| 19208 | |
| 19207 | |
| 19206 | |
| 19204 | |
| 5728 | |
| 5727 | |
| 5725 | |
| 19200 |
JavaScript
주소표시
3
|
| 30841 |
CSS
CSS 자료 링크
4
|
| 19196 | |
| 19192 | |
| 27359 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기