반응형
javascript에서 filter를 쓰듯이 php에서 array_filter가 있다.
https://www.php.net/manual/en/function.array-filter.php
만약에 다음과 같은 배열이 있다고 가정을 하고 13이상인 것을 array_filter로 뽑아낸다면 다음과 같을 것이다.
$array = [10,11,12,13,14];
//각 하나의 값에 접근하기 위해서는 $array[0], $array[1]... 형태로 접근
//13이상인 것을 뽑아낸다고 할 시 array_filter를 이용할 경우
$temp = array_filter($array, function($data){
return $data >= 13;
});
var_dump($temp);
//$temp 출력값 : array(2) { [3]=> int(13) [4]=> int(14) }
우리는 13이상의 값을 가진것들을 뽑아내었다!
그런데 기존 배열의 key를 그대로 가지고 있다는 점이 있다. 물론 그대로 사용해도 되지만..
array_values 함수를 활용하면 key를 0부터 다시 세팅된게 할 수 있다.
https://www.php.net/manual/en/function.array-values.php
그럼 위의 코드는 array_values를 적용 시켜서 다음과 같은 형태로 출력값이 변경된다.
$array = [10,11,12,13,14];
//각 하나의 값에 접근하기 위해서는 $array[0], $array[1]... 형태로 접근
//13이상인 것을 뽑아낸다고 할 시 array_filter를 이용할 경우
$temp = array_values(array_filter($array, function($data){
return $data >= 13;
}));
var_dump($temp);
//$temp 출력값 : array(2) { [0]=> int(13) [1]=> int(14) }
array_filter로 딱 하나만 return 시키고 그 값에 접근 하려고 찾다보니 array_values라는 것을 알게되었다.
또 까먹으면 찾아와서 쓸듯...
728x90
'php' 카테고리의 다른 글
웹 서버란 무엇인가? 그리고 WS? WAS? (0) | 2022.08.09 |
---|---|
php textarea글을 가져와서 출력하는 방법 feat nl2br (0) | 2022.07.20 |
php 에러 보이도록 설정 error_reportion / display_errors (0) | 2022.07.15 |
[php] simple_html_dom을 활용한 크롤링(스크래핑) (0) | 2022.06.16 |
[php] include, require 차이점에 대해 (0) | 2022.06.16 |
댓글