● 배열
: 배열은 여러개의 값을 다룰때 매우 유용합니다.
우선, 배열을 사용하면 여러개의값을 하나의 그룹처럼 다룰수있습니다.
배열은 대괄호 안에 값만 들어있는 배열과 Key(키)와 Value(값)이 짝으로 이루는 연관 배열이 있습니다. 아래 예재들을 통해 확인해보겠습니다.
* 인덱스 배열
$team이라는 변수에 [] (대괄호)로 String값을 넣어줍니다.
위 배열 정의에서 설명했듯이 이 예제는 인덱스배열이라 하며, 정렬 순서인 인덱스 번호로 값에 접근합니다.
배열은 0인자(Key)부터 시작합니다.
즉, $team[0] = "김철수" / $team[1] = "김민희" / $team[2] = "박민수" 입니다.
0인자(키)에 "김철수"(값)이 들어있습니다.
이제 for문을 통해 $team배열안에 있는 값 3개중에 [0]인자 값을 출력해줍니다.
그러면 당연히 김철수가 출력되고, 다음 i++해줘서 [1]인자 값인 김민희가 출력됩니다.
( + count함수는 PHP 내장함수로써 배열안에있는 인자의 갯수를 세서 리턴해줍니다. 즉, 여기서는 3과 같습니다. )
array로 배열은 만들수있습니다. 위처럼 array()안에 해당 값을 넣어주면 인덱스 순서대로 저장됩니다.
배열은 print_r() 또는 var_dump()를 사용해 출력할수있습니다.
echo()로는 배열을 출력할수없습니다. 다만, 반복문을 통해 처음 예제처럼 하나씩 출력이 가능합니다.
인덱스 번호를 지정해 값을 대입할때 이미 지정한 값이 있으면 값이 갱신되지만,
존재하지 않는 인덱스 번호(Key)를 지정하면 그 인덱스 번호에
값이 대입됩니다. 그 때는 인덱스 번호가 연속된 번호가 아닌 비어있는 번호가 됩니다.
0인덱스에 "빨강"을 넣어주고, 3인덱스에 "보라"값이 들어갑니다. 그러면 1,2 인덱스는 값이 없습니다.
인덱스 번호를 지정해서 값을 넣었기에 해당 인덱스번호에만 값이 들어갑니다.
인덱스[7]에 "초록"값이 들어가고, 그다음 인덱스 번호를 입력해주지않으면 자동으로 7다음 숫자인 8인덱스에 "검정"이 대입됩니다.
* 연관 배열
이번에는 Key가 숫자가 아닌 String으로 들어가는 예제입니다. (연관배열)
id라는 키에 R12라는 값을 대입했고, size라는 키에 XL라는 값을 대입했습니다.
printf_r로 출력해주면 id,size,price가 순서대로 출력됩니다.
배열을 문자열로 만드는 implode() 예제 입니다.
우선, $data에 3개의 값을 배열로 선언해주고, implode함수 첫번쨰 파라미터로 기준값을 넣어줍니다.
"씨, "라는 기준으로 배열 각각을 연결해서 문자열로 만들어줍니다. 최종적으로 마지막에는 "씨"를 붙여주면 됩니다.
문자열을 배열로 만드는 exlode() 예제입니다.
$data변수에 문자열을 넣어주고, $delimiter 변수에 기준값을 넣어줍니다.
explode내장함수를 통해 첫번쨰 파라미터로 기준값을 넣어주고, 두번째 파라미터로 해당 배열로 만들 문자열을 넣어줍니다.
배열은 define()을 사용해 상수로 사용할 수 있습니다.
RANK라는 배열에 인덱스번호1인 "중"이라는 값이 저장되어있습니다.
echo를 통해 출력해주면 값이 출력됩니다.
(PHP 7에서 배열의 상수가 추가되었습니다.)
'Programming Language > PHP' 카테고리의 다른 글
[PHP] 폼 입력 처리의 기본 ( GET, POST로 송수신하기 ) (0) | 2019.11.17 |
---|---|
[PHP] preg_match ( 패턴일치 & 정규표현식 적용) (0) | 2019.10.17 |
[PHP] URL인코딩 & 디코딩 (0) | 2019.09.13 |
[PHP] 배열의 요소 삭제 & 치환 & 연결과 분리, 중복제거 (array_merge, array_combine, array_unique 등) (0) | 2019.09.12 |
[PHP] sprintf(), vprintf(), number_format() (0) | 2019.09.10 |
[PHP] 문자열을 형식화해서 출력하기 - printf(), 타입지정자 (0) | 2019.09.09 |
[PHP] 히어 다큐먼트 구문 및 Nowdoc 구문 (이스케이프 없이 편하게 문장 만들기) (0) | 2019.09.08 |
[PHP] 문자열에 사용할 수 있는 이스케이프 시퀀스 (0) | 2019.09.07 |