배열
php 역시 배열이 존재한다. php의 배열은 c, c++, c# 등의 언어와 다르게 다른 자료형의 값들도 한 배열 안에 넣을 수 잇는데, 이는 python과 비슷하다.
배열 선언 방식은 조금 특이하게 느껴졌는데, 선언 방식은 아래와 같다.
$<변수명> = array(<요소1>, <요소2>);
이 말고도 아래와 같은 방법도 가능하다.
$<변수명>[<인덱스 번호>] = <값(요소)>;
이 방법의 경우 변수가 미리 선언되지 않아도 가능하다. (선언되어 있는 배열에 대해서 요소를 추가할 때도 가능하다.)
array를 써준뒤 괄호안에 배열에 들어갈 요소를 넣어야지 배열을 만들 수 있다.
만들어진 배열에 요소를 추가할 때는 array_push(<변수명>, <값>);을 통해 넣을 수 있다.
count(<변수>)를 사용한다면 배열의 길이를 구할 수 있다.
이 밖에도 array_search, sort 등 여러가지 배열 관련 함수가 있는데, 이는 프로그래밍 하면서 필요할 때마다 찾아서 쓰면 될 것 같다.
아래는 간단히 배열을 실습해본 코드다.
<?php
$a = array('a', 'b', 'c');
echo '$a[0] : '.$a[0].'<br>';
echo var_dump($a[0]);
echo '<br>';
echo var_dump($a);
echo '<br>';
echo '요소 개수 : '.count($a).'<br>';
array_push($a,'d');
echo '$a[3] : '.$a[3];
?>
요소 출력, 자료형 확인, 요소 추가 모두 잘 작동한 것을 볼 수 있다.
연관 배열
연관 배열은 일반 배열과 선언방식은 비슷하지만 배열과 다르게 인덱스 번호가 아닌, 키 값으로 요소를 불러온다는 차이가 있다. 파이썬의 딕셔너리와 같은 것이다.
선언하는 방법은 아래와 같다.
$<변수명> = array(<키1> => <요소1>, <키2> => <요소2>);
or
$<변수명>[<키>] = <요소>;
=>로 키와 요소를 구분한다는 점이 좀 특이한거 같다.
연관 배열에서도 역시 $<변수명>[<키>] = <요소>;를 사용해 키와 값을 추가할 수 있다.
array_keys(<변수>)를 사용하면 연관배열에서 키 값만 추출할 수 있다.
array_values(<변수>)를 사용하면 연관배열에서 요소 값만 추출할 수 있다.
키와 요소를 삭제할 때는 unset(<변수>[<키>])를 사용한다면 키와 키에 해당하는 요소를 삭제할 수 있다.
아래는 연관 배열을 사용해서 만들어본 간단한 php 코드다. 키 값을 이용한 요소 출력, 키와 요소 추가, 키와 요소 삭제, for문과 count 함수를 사용하여 키와 요소들 모두 출력하는 동작을 한다.
<?php
$a = array('a' => '1', 'b' => '2', 'c' => '3');
echo '연관 배열 a의 "a"키에 해당하는 값 : '.$a['a'].'<br>';
$a['d'] = 4;
echo '연관 배열 a의 "d"키에 해당하는 값 : '.$a['d'].'<br><br>';
unset($a['d']);
echo '-연관 배열 a의 모든 키와 값들-<br>';
for($i = 0; $i < count($a); $i++)
{
echo '키 : '.array_keys($a)[$i].' 값 : '.$a[array_keys($a)[$i]].'<br>';
}
?>
'Old (2021.01 ~ 2021.12) > Programming' 카테고리의 다른 글
[PHP] 보안 - xss 공격 방지(htmlspecialchars) (2) | 2021.09.22 |
---|---|
[PHP] 조건문 (if, else if, else) (0) | 2021.09.21 |
[PHP] get 방식 처리 in php (0) | 2021.09.21 |
[PHP] php의 기본적인 문법 (0) | 2021.09.21 |
c언어 코딩도장 Unit 58 ~ Unit 59 (0) | 2021.04.11 |