php array 함수의 마력 array_splice, array_values 활용

PHP/팁앱테크 2012. 3. 29. 11:10

php array 함수의 마력 array_splice, array_values 활용


PHP는 가볍고 속도가 빠른것으로 유명하다
실제 프로그래밍을 해봐도 그렇다 
확장성 또한 띄어나다

그중의 하나인 array 함수 들 중
array_splice 자르기, array_values 값만 추출하여 숫자로 인덱싱 해주는
이 놀라운 함수로 원하는 데이타를 추출해 보겠다


@ 먼저 다음과 같은 배열값이 있다고 하자


# 변수명 
$args = 
Array
(
    [uid] => 1
    [regi_ym] => 201203
    [ads_url_info_uid] => 1
    [totals] => 602
    [d1] => 0
    [d2] => 0
    [d3] => 0
    [d4] => 0
    [d5] => 0
    [d6] => 0
    [d7] => 0
    [d8] => 0
    [d9] => 0
    [d10] => 0
    [d11] => 0
    [d12] => 0
    [d13] => 0
    [d14] => 0
    [d15] => 0
    [d16] => 0
    [d17] => 0
    [d18] => 0
    [d19] => 0
    [d20] => 58
    [d21] => 33
    [d22] => 58
    [d23] => 57
    [d24] => 9
    [d25] => 16
    [d26] => 102
    [d27] => 115
    [d28] => 138
    [d29] => 16
    [d30] => 0
    [d31] => 0
)


@ array_splice 로 d1 ~ d31 까지만 값이 필요하므로 그 부분만 따로 다른 변수에 담도록 하겠다


$row_splice = array_splice($args,4);
print_r($row_splice);

// 결과
Array
(
    [d1] => 0
    [d2] => 0
    [d3] => 0
    [d4] => 0
    [d5] => 0
    [d6] => 0
    [d7] => 0
    [d8] => 0
    [d9] => 0
    [d10] => 0
    [d11] => 0
    [d12] => 0
    [d13] => 0
    [d14] => 0
    [d15] => 0
    [d16] => 0
    [d17] => 0
    [d18] => 0
    [d19] => 0
    [d20] => 58
    [d21] => 33
    [d22] => 58
    [d23] => 57
    [d24] => 9
    [d25] => 16
    [d26] => 102
    [d27] => 115
    [d28] => 138
    [d29] => 16
    [d30] => 0
    [d31] => 0
)

내가 원하는 값만 추출 했다.

d1 위치가 4번째 배열위치에 있었으므로 4번째 배열부터 끝배열까지 자르라는 의미였다.



@ 이젠 array_values 를 통해 d1,d2 키를 없애고 [0]=>1, [1]=>2 숫자 인덱스 값을 갖는 배열로 바꿔보겠다.


$row_values = array_values($row_splice);
print_r($row_values);

// 결과
Array
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 0
    [8] => 0
    [9] => 0
    [10] => 0
    [11] => 0
    [12] => 0
    [13] => 0
    [14] => 0
    [15] => 0
    [16] => 0
    [17] => 0
    [18] => 0
    [19] => 58
    [20] => 33
    [21] => 58
    [22] => 57
    [23] => 9
    [24] => 16
    [25] => 102
    [26] => 115
    [27] => 138
    [28] => 22
    [29] => 0
    [30] => 0
)


올 내가 딱 원하는 형태로 데이타 형태가 바뀌었다

이 놀라운 PHP의 세계를 경험해 보라


위 단계를 다음과 한줄로 코딩해도 됩니다.

그래도 같은 결과가 나옵니다.

print_r( array_values(array_splice($row,4)) );



끝까지 읽어 주셔서 감사합니다.


PHP Array 배열 함수 페이지