본문 바로가기
PHP/생활코딩

5/24(2) 생활코딩

by SKim입니다 2020. 5. 24.

* 오늘의 진도

 PHP

  배열

 

14. 배열 - 배열의 문법

배열(array): 변수 안에 여러개의 값을 저장하기

 

두 개는 정확하게  동일한 방법으로,

class라는 하나의 변수 안에

egoing과 k8805라는 문자열을 담을 수 있게 된다.

 

여기에서 0과 1은 index(색인)이다.

 

 

배열이 없다면

 

 

 

14. 배열 - 배열의 사용(배열 + 반복문)

count라는 함수 안에 배열을 담고 있는 변수를 넣어주면,

이 배열 안에 담겨있는 원소 요소의 갯수(3)가 나온다.

 

ucfirst는 첫글자를 대문자로 만드는 함수이다.

 

14. 배열 - 배열의 조작

제일 끝에 값 추가하기: push

제일 끝의 값을 꺼내기: pop

 

첫번째 값을 제거하기: shift

어떤 값을 첫번째에 추가하기: unshift

 

 

맨 뒤에 추가하기 - push

 

 

 

 

맨 앞에 추가하기 - unshift

 

 

 

 

첫번째 제거하기 - shift

 

 

마지막꺼 제거하기 - pop

 

 

 

 

정렬하기

 

abc, 123 순서 - sort

 

 

역순 정렬 - rsort

 

배열을 다루는 방법들이 궁금하면 

구글이 php array function으로 검색해서

php 공식 메뉴얼로 간다.

https://www.php.net/manual/en/ref.array.php

 

PHP: Array Functions - Manual

While PHP has well over three-score array functions, array_rotate is strangely missing as of PHP 5.3. Searching online offered several solutions, but the ones I found have defects such as inefficiently looping through the array or ignoring keys. The follow

www.php.net

 

우리가 직접 함수를 개발하고 구현하는 것도 좋은 방법이지만,

이 함수들을 먼저 찾아보는 것이 기본적인 순서이다.

 

∵ 이 함수들은 php로 만들어진 것이 아니라

 php를 만든 언어(C, C++ 등), 즉 더 로우 레벨의 언어로 만들어진 것이기 때문에

 

① 우리가 만드는 것보다 더 빠를 것이다.

② 다른 사람들도 많이 쓰고 있을 것이기 때문에

 쉽게 그 함수의 용도를 파악할 수 있다. (표준화)

 

 

14. 배열 - 연관 배열(associative array)

지금까지 배운 배열은

배열에 담겨있는 값들의 식별자로 

0, 1, 2와 같은 숫자를 이용했다. (index)

 

그런데 연관 배열에서는

숫자가 아니라 문자를 사용할 수 있다.

 

사실 php에서는 식별자로서의 문자와 숫자라는 개념을 따로 구별하지는 않기 때문에

연관배열도 인덱스도 배열이라고 하는 것에 대한 큰 의미는 없다.

 

 

 

 

연관배열을 정의하는 또다른 방법

 

php에서 [ ]은 arrray( )와 같은 의미(배열의 정의)라고 보면 된다.

 

 

연관배열을 통해서 만들어진 값을 가져오는 방법

 

 

 

배열에 담겨있는 값들을 하나하나 꺼내서 그 값들을 처리하는 방법 = 열거

 

for는 index/key가 숫자일 때만 사용할 수 있다.

문자일 때는 foreach를 사용한다.

 

{ } 안의 부분은,

foreach 뒤 괄호의 첫번째 자리에 위치하는 배열의 원소의 수(3)만큼 반복된다.

 

as $key => $value라고 쓰게 되면,

$grade에 담겨있는 값들이 하나하나 꺼내질 때,

= 반복문이 한번한번 실행될 때마다 순차적으로 

 

첫 번째는 $key에 egoing이 담기고 $value에 10이 담긴다.

..

'PHP > 생활코딩' 카테고리의 다른 글

5/24(4) 생활코딩 * Composer 나중에 보기 *  (0) 2020.05.24
5/24(3) 생활코딩  (0) 2020.05.24
5/24 생활코딩  (0) 2020.05.24
5/23(3) 생활코딩  (0) 2020.05.23
5/23(2) 생활코딩  (0) 2020.05.23

댓글