Top

[PHP] 배열 중간에 추가하기 | Web-Programing
김경훈 (admin) | Editor | 2018/01/10 10:32:50 | 조회:6202

이번엔 배열을 다룰때 중간에 추가하는 방법을 다루겠습니다.

이 방법에는 배열과 관련한 2개의 함수를 사용합니다.

각 함수는 array_slice()와 array_merge()함수입니다.

 

아래 코드를 보시겠습니다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

?
1
2
$arr = array ( "aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff" );
print_r( $arr );

 

위 코드를 실행하면 결과는 다음과 같습니다.

"Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd [4] => eee [5] => fff )"

 

이제 코드를 수정해 보겠습니다.

(코드는 Syntax Highlighter가 적용되어 모바일에서는 안보일 수 있습니다.)

 

?
1
2
3
4
5
6
7
8
9
10
11
$arr = array ( "aaa" , "bbb" , "ccc" , "ddd" , "eee" , "fff" );
$add = "jjj" ;
 
function insert_array( $arr , $idx , $add ){       
  $arr_front = array_slice ( $arr , 0, $idx ); //처음부터 해당 인덱스까지 자름
  $arr_end = array_slice ( $arr , $idx ); //해당인덱스 부터 마지막까지 자름
  $arr_front [] = $add ; //새 값 추가
  return array_merge ( $arr_front , $arr_end );
}
$arr = insert_array( $arr , 2, $add );
print_r( $arr );

 

위 코드를 실행해보면 다음과 같은 결과가 나옵니다.

"Array ( [0] => aaa [1] => bbb [2] => jjj [3] => ccc [4] => ddd [5] => eee [6] => fff )"

 

insert_array()함수를 호출할 때 삽입할 idx를 2를 제시했기 때문에 해당 인덱스에 추가된 것을 보실 수 있습니다.

 

여기서 한가지 덧붙이자면...

지난번 포스팅한 "PHP에서 배열에 값이 포함되어 있는지 여부와 해당 인덱스 가져오기" 와 혼용하여

특정 인덱스 다음에 추가를 하고자 하실때는 insert_array()함수를 호출할때 가져온 인덱스 + 1을 하시면 됩니다.



출처:  http://happyman73.tistory.com/61  [작은악마`s Blog]

공유하기
공유하기
0
0
0


댓글을 불러오는 중입니다.
▲ 이전글 [Javascript] REPLACE를 REPLACEALL 처럼 사용하기 김경훈 (admin) 2018-07-04 11:29:33
▼ 다음글 [CSS] IE 인풋박스 X 버튼 제거하기. 김경훈 (admin) 2016-05-02 11:21:11