본문 바로가기

Development/PHP

[PHP] 배열 문법과 정렬



Ⅰ. 배열 문법


1. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
    // 배열에 값 저장
    $val = array("축구","야구","농구","배구","족구");
    
    // 배열에 저장된 값의 수
    $length = count($val);
    echo "배열에 저장된 값의 수 : ".$length."<br>";
 
    echo "<pre>";
    var_dump($val);
    echo "</pre>";
 
    // for문으로 배열에 저장된 값 하나씩 출력
    // 배열에 저장된 값의 수만큼 for문 실행
    for($i=0 ; $i<$length ; $i++){
        echo "값 ".$i." : ".$val[$i]."<br>";
    }
 
?>
cs


2. 결과출력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
배열에 저장된 값의 수 : 5
 
array(5) {
  [0]=>
  string(6) "축구"
  [1]=>
  string(6) "야구"
  [2]=>
  string(6) "농구"
  [3]=>
  string(6) "배구"
  [4]=>
  string(6) "족구"
}
 
값 0 : 축구
값 1 : 야구
값 2 : 농구
값 3 : 배구
값 4 : 족구
 
 
cs




Ⅱ. 배열 정렬


- 한글(ㄱ,ㄴ,ㄷ 순), 영어(a, b, c 순), 숫자(1, 2, 3 순) 등으로 정렬할때 사용.


1. 정렬방법

 sort() 

 오름차순으로 정렬

 rsort()

 내림차순으로 정렬

 asort()

 값에 따라 오름차순으로 배열 정렬

 ksort()

 키값에 따라 오름차순으로 배열 정렬

 arsort()

 값에 따라 내림차순으로 배열 정렬

 krsort()

 키값에 따라 내림차순으로 배열 정렬



2. 한글 오름차순 / 내림차순 정렬


① 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
    // 배열에 값 저장
    $val_kor = array("사과","바나나","멜론","포도");
 
    echo "한글 오름차순 정렬"."<br>";
    // sort(); 오름차순으로 한글 정렬
    sort($val_kor);
    $klength = count($val_kor);
 
    // 배열에 저장된 값의 수만큼 for문 실행
    for($i=0 ; $i<$klength ; $i++){
        echo "[$i] : ".$val_kor[$i]."<br>";
    }
 
    echo "---------------------"."<br>";
 
    echo "한글 내림차순 정렬"."<br>";
    // rsort(); 오름차순으로 한글 정렬
    rsort($val_kor);
    // 배열에 저장된 값의 수만큼 for문 실행
    for($i=0 ; $i<$klength ; $i++){
        echo "[$i] : ".$val_kor[$i]."<br>";
    }
 
?>
cs


② 출력결과
1
2
3
4
5
6
7
8
9
10
11
한글 오름차순 정렬
[0] : 멜론
[1] : 바나나
[2] : 사과
[3] : 포도
---------------------
한글 내림차순 정렬
[0] : 포도
[1] : 사과
[2] : 바나나
[3] : 멜론
cs



3. 영어 오름차순 / 숫자 내림차순 정렬


① 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
    echo "영어 오름차순 정렬"."<br>";
    $val_eng = array("Apple","Banana","Melon","Grape");
 
    // sort(); 오름차순으로 영문 정렬
    sort($val_eng);
    $elength = count($val_eng);
 
    // 배열에 저장된 값의 수만큼 for문 실행
    for($i=0 ; $i<$klength ; $i++){
        echo "[$i] : ".$val_eng[$i]."<br>";
    }
 
    echo "---------------------"."<br>";
 
    echo "숫자 내림차순 정렬"."<br>";
    $val_num = array("1","9","7","0");
 
    // rsort(); 내림차순으로 숫자 정렬
    rsort($val_num);
    $nlength = count($val_num);
 
    // 배열에 저장된 값의 수만큼 for문 실행
    for($i=0 ; $i<$klength ; $i++){
        echo "[$i] : ".$val_num[$i]."<br>";
    }
    
?>
cs


② 출력결과

1
2
3
4
5
6
7
8
9
10
11
영어 오름차순 정렬
[0] : Apple
[1] : Banana
[2] : Grape
[3] : Melon
---------------------
숫자 내림차순 정렬
[0] : 9
[1] : 7
[2] : 1
[3] : 0
cs



4. 키/값 으로 오름차순 / 내림차순 정렬


① 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
    // 이름이 key, 등수(숫자)가 value
    $rank = array("Kim"=>"3""Han"=>"2""Moon"=>"1""Lee"=>"4");
 
    echo "키 값으로 오름차순 정렬"."<br>";
 
    // ksort() 키 값으로 오름차순 정렬
    ksort($rank);
 
    foreach($rank as $r => $value){
        echo "Key : ".$r.", Value : ".$value."<br>";
    }
 
    echo "--------------------------"."<br>";
 
    echo "값으로 오름차순 정렬"."<br>";
 
    // asort() 값으로 오름차순 정렬
    asort($rank);
 
    foreach($rank as $r => $value){
        echo "Key : ".$r.", Value : ".$value."<br>";
    }
 
?>
cs


② 출력결과

1
2
3
4
5
6
7
8
9
10
11
키 값으로 오름차순 정렬
Key : Han, Value : 2
Key : Kim, Value : 3
Key : Lee, Value : 4
Key : Moon, Value : 1
--------------------------
값으로 오름차순 정렬
Key : Moon, Value : 1
Key : Han, Value : 2
Key : Kim, Value : 3
Key : Lee, Value : 4
cs