PHP

PHP – 배열 함수 정리

  • 테스트 데이터
$test = array(2, 5, 4, 6, 2, 6, 2, 9, 9, 8, 1, 3, 7);
  • array_push
    • 배열 값 추가
array_push($test, 10);
Array ( [0] => 2 [1] => 5 [2] => 4 [3] => 6 [4] => 2 [5] => 6 [6] => 2 [7] => 9 [8] => 9 [9] => 8 [10] => 1 [11] => 3 [12] => 7 [13] => 10 )
  • array_unique
    • 중복 값 제거
$test = array_unique($test);
Array ( [0] => 2 [1] => 5 [2] => 4 [3] => 6 [7] => 9 [9] => 8 [10] => 1 [11] => 3 [12] => 7 [13] => 10 )
  • sort, rsort
    • 값 기준 정렬, 역순 정렬
// 정렬
sort($test);

// 역순 정렬
rsort($test);
// 정렬
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )

// 역순 정렬
Array ( [0] => 10 [1] => 9 [2] => 8 [3] => 7 [4] => 6 [5] => 5 [6] => 4 [7] => 3 [8] => 2 [9] => 1 )
  • ksort, krsort
    • 키 값 기준 정렬, 역순 정렬
// 키 정렬
$arr = array("2"=>1, "1"=>3, "3"=>3, "5"=>6, "7"=>7, "6"=>3);
ksort($arr);

// 키 역순 정렬
$arr = array("2"=>1, "1"=>3, "3"=>3, "5"=>6, "7"=>7, "6"=>3);
ksort($arr);
// 키 정렬
Array ( [1] => 3 [2] => 1 [3] => 3 [5] => 6 [6] => 3 [7] => 7 )

// 키 역순 정렬
Array ( [7] => 7 [6] => 3 [5] => 6 [3] => 3 [2] => 1 [1] => 3 )
  • array_multisort
    • 여러 배열을 한 번에 정렬하거나, 1개 이상의 차원을 가진 배열을 정렬할 수 있는 다차원 배열 정렬 함수
$data[] = array('emp_id' => 1001, 'team_id' => 1);
$data[] = array('emp_id' => 1186, 'team_id' => 5);
$data[] = array('emp_id' => 1021, 'team_id' => 1);
$data[] = array('emp_id' => 1098, 'team_id' => 7);
$data[] = array('emp_id' => 1012, 'team_id' => 6);
$data[] = array('emp_id' => 1067, 'team_id' => 6);

// 열 목록 얻기
foreach ($data as $key => $row) {
  $emp_id[$key] = $row['emp_id'];
  $team_id[$key] = $row['team_id'];
}

array_multisort($team_id, SORT_DESC,
               $emp_id, SORT_ASC, $data);

print_r($emp_id);
print_r($team_id);
print_r($data);
// emp_id
Array ( [0] => 1098 [1] => 1012 [2] => 1067 [3] => 1186 [4] => 1001 [5] => 1021 )

// team_id
Array ( [0] => 7 [1] => 6 [2] => 6 [3] => 5 [4] => 1 [5] => 1 )

// data
Array ( [0] => Array ( [emp_id] => 1098 [team_id] => 7 ) [1] => Array ( [emp_id] => 1012 [team_id] => 6 ) [2] => Array ( [emp_id] => 1067 [team_id] => 6 ) [3] => Array ( [emp_id] => 1186 [team_id] => 5 ) [4] => Array ( [emp_id] => 1001 [team_id] => 1 ) [5] => Array ( [emp_id] => 1021 [team_id] => 1 ) )
  • array_merge
    • 배열 간 병합 함수
$arr1 = array(1,3,5,7);
$arr2 = array(2,4,6,7);

$merge_arr = array_merge($arr1, $arr2);
// merge_arr
Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 2 [5] => 4 [6] => 6 [7] => 7 )
  • array_search
    • 주어진 값과 일치한 값을 찾아내어 찾은 값의 키 값 반환
    • 동일한 값이 여러 개일 경우 앞에 있는 값의 키 값으로 반환
$arr = array("2"=>1, "1"=>3, "3"=>3, "5"=>6, "7"=>7, "6"=>3);
$find = array_search(3, $arr);
// find
1
  • array_key_exists
    • 배열 내 키 값 존재 여부 체크
$user_info = array(
    "user_name" => "jannie",
    "user_id" => "jn123",
    "user_ages" => 19
);

if ( array_key_exists("user_name", $user_info) ){
    print("have");
}else{
    print("none");
}
have
  • count
    • 배열 길이 반환
count($test);
10
  • empty – 배열이 비어있는지 체크
# 결과 - empty
$test = array();

# 결과 - not empty
$test = array("test1" => "success", "test2" => "fail");

if(empty($test)) {
    echo "empty";
}else{
    echo "not empty";
}

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.