티스토리 뷰
php, 배열선언 배열에 값넣기 등 배열관련 정보
일반적으로 배열이란 무엇인가?
배열은 '여러개의 값을 담아 놓는 상자'라고 생각하시면 됩니다.
배열로 선언하면 값이 없어도 배열이 됩니다.
또한 배열 선언과 동시에 값을 대입하는 것도 가능합니다.
$days = []; // 빈 배열 $days 선언 -> 이렇게 선언하는 것이 가장 편하더군요.
$family = ['dad', 'mom', 'son', 'daughter']; // 값이 있는 배열 $family 선언 (이렇게는 잘 하지 않아요.ㅠ.ㅠ)
배열의 첨자
배열 요소의 위치를 첨자라고 합니다. 첨자는 보통 연속되는 값으로 0,1,2..로 이어집니다.
이러한 첨자로 배열에 바로 접근이 가능하게 됩니다.
// 첨자는 0, 1, 2, 3
$family = ['dad', 'mom', 'son', 'daughter'];
echo $family[0]; // 'dad'
echo $family[3]; // 'daughter'
이름으로 접근이 가능한 연상 배열
첨자 대신 요소의 이름(key)을 지정하여 접근 할 수도 있습니다.
$family_name = [
'dad' => 'Bob',
'mom' => 'Jessy',
'son' => 'James',
'daughter' => 'Emily'
];
echo $family_name['dad']; // 'Bob'
요소의 추가
마지막에 요소를 추가
배열의 제일 끝에 새로운 요소를 추가합니다.
//첨자 배열의 경우
$family = ['dad', 'mom', 'son', 'daughter'];
$family[] = 'puppy'; // 배열의 제일 끝에 요소를 추가
echo $family[4]; // 'puppy' -> 계속 추가할때는 이렇게 사용하는 것이 좋네요.
// 연상 배열의 경우
$family_name = [
'dad' => 'Bob',
'mom' => 'Jessy',
'son' => 'James',
'daughter' => 'Emily'
];
$family_name['puppy'] = 'John';
echo $family_name['puppy']; // 'John'
가장 첫 위치에 요소를 추가
배열의 가장 첫 위치에 요소를 추가할 경우는 array_unshift()를 사용합니다.
$family = ['dad', 'mom', 'son', 'daughter'];
array_unshift($family, 'grandma');
// $family ['grandma', 'dad', 'mom', 'son', 'daughter'] 로 됩니다.
임의의 위치 요소를 추가
배열의 임의의 위치에 요소를 끼워넣습니다. array_splice()는 원래 요소를 치환하는 함수이지만, 제3인수에 0을 지정하면 요소를 지우지 않고 끼워넣을 수 있습니다.
$family = ['dad', 'mom', 'son'];
// $family[2]의 앞에'uncle'를 추가
array_splice($family, 2, 0, 'uncle');
// ['dad', 'mom', 'uncle', 'son']
복수의 요소를 추가
array_push() 함수를 사용하여 한번에 여러개의 요소를 추가합니다.
$family = ['dad', 'mom', 'son'];
array_push($family, 'puppy', 'citty');
// ['dad', 'mom', 'son', 'puppy', 'citty']
array_merge() 함수를 사용하면 배열과 배열을 결합합니다.
$family = ['dad', 'mom', 'son'];
$add_member = ['grandma', 'grandpa'];
$new_family = array_merge($add_member, $family);
// $new_family는 ['grandma', 'grandpa', 'dad', 'mom', 'son']
//array_merge는 원래의 배열 $family에 영향을 주지 않습니다.
**다차원 배열은 첨자를 하나이상 2중으로 사용하는 것이라고 생각하면 될거예요.
$families = [
[
'dad', 'mom', 'son'
],
[
'dad', 'mom', 'daughter'
]
];
echo $families[0][0]; // 'dad' -> 이런 형태가 다차원 배열이죠.
echo $families[1][2]; // 'daughter'
// $families['Smith']와 $families['Williams']는 각각 배열입니다.
물론 연상 배열을 다차원 배열로 할 수도 있습니다.
$families = [
'Smith' => [
'dad' => 'Bob',
'mom' => 'Jessy',
'son' => 'James'
],
'Williams' => [
'dad' => 'Michael',
'mom' => 'Jessy',
'daughter' => 'Emily'
]
];
echo $families['Smith']['dad']; // 'Bob'
여기서는 $families['Smith']['mom']의 'Jessy'와 $families['Williams']['mom']의 'Jessy'는 문자열은 같지만 다른 배열입니다. 즉, 스미스 가문의 제시와 윌리엄 가문의 제시로 보시면 됩니다.
배열을 잘 이용하면 프로그램 코딩을 줄일 수 있습니다. php는 다른 언어와 다르게 배열이 특이성이 있지요.
이점을 유념하지 않으면 많은 오류와 부딪히게 될 것입니다.
배열의 선언부터 활용까지 잘 되시길 기원합니다.
'IT tech Coding > php' 카테고리의 다른 글
php 종종 사용하는 함수들 모아봤어요. (0) | 2019.10.20 |
---|---|
php substr 함수 사용시 한글깨짐 현상 해결법 연구 (0) | 2019.10.07 |
php date()함수를 사용해서 날짜 계산하기, 이해하면 너무 쉬움... (0) | 2019.07.27 |
php, include vs require 변수전달 하는 법 (0) | 2019.07.21 |
php, php에서 자바스크립트 함수를 호출하는 방법에 대한 연구 (0) | 2019.07.21 |
- Total
- Today
- Yesterday
- 프로그래머생활
- 효율적코딩방법
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 뫄프로그래밍
- json파일편하게보는법
- 엑셀입력보호
- sql문장 날짜계산
- 테크에능한여성
- json파일형태보기
- 스크립트작성기초
- 엑셀보호
- 티스토리챌린지
- 오블완
- chatGPT3.5파이썬버전
- 캐드자동작도
- #프로그램설치
- Bootstrap 5
- 엑셀셀보호
- 오토핫키가이드
- 파이썬코드줄바꿈방법
- 코딩효율성
- #InstallForge
- 코딩튜토리얼
- General error: 2031
- #파이썬패키징
- ajax오류메시지
- isset을 적용해야 하는 이유
- 도면자동생성
- 구글드라이브API
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |