[PHP] 배열/함수

2025. 4. 21. 23:11·BE/PHP
728x90

배열

배열의 기본 형식

변수명 = array (값1, 값2, .... 값):
사용: 변수명[index]
  • 대괄호 안의 숫자는 배열의 첨자값(index)이며, 배열에서 저장되는 위치를 나타냄
  • 배열에서 각각의 데이터는 해당 인덱스가 지시하는 위치에 저장
  • 배열의 첨자값은 1이 아니라 0부터 시작한다는 것 주의

배열을 이용한 버블 정렬

  • 버블 정렬(bubble sort)은 인접한 2개의 원소를 비교하면서 값을 정렬하는 방식
  • 배열의 원소 값을 서로 바꿔가면서 거품이 위로 올라가듯 정렬되어 버블 정렬이라고 함
  • 28, 15, 10, 25, 32, 17을 오름차순으로 정렬하는 버블 정렬의 예
<?php
    $arr = array(28, 15, 10, 25, 32, 17);

    for($i=4; $i>=0; $i--){
        for($j=0; $j<=$i; $j++){
            if($arr[$j] > $arr[$j+1]){
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $tmp;
            }
        }
    }
            
    for($i = 0; $i < 6; $i++){ 
        echo $arr[$i]." ";
    }
?>

2차원 배열

2차원 배열의 기본 형식

변수명 = array (
array ( 값1, 값2, …, 값n ) ,
array ( 값1, 값2, …, 값n ) ,
array ( 값1, 값2, …, 값n )
);

사용: 변수명[ index ][ index ]

함수

함수의 개념과 종류

  • 함수를 호출하면 호출된 함수 내부의 연산을 실행하고, 그 결과를 반환하는 부분 프로그램
  • 동일한 코드를 반복해서 결과를 만들어야 하는 부분을 미리 함수로 만들어 이용 가능
  • 프로그램 길이와 작성 시간을 줄일 수 있고, 프로그램을 쉽게 분석하는 것을 가능하게 함
  • 프로그램에서 특정 작업을 수행하기 위해 별도로 만든 코드들의 집합
종류 설명
내장 함수
(library function)
- PHP 자체적으로 제공하는 함수
- 별도의 선언 없이 아무 때나 호출하여 사용 가능
- 문자열 함수, 숫자 함수 등
사용자 정의함수
(user built-in function)
- 필요할 때마다 사용자가 직접 만들어 사용하는 함수
- 호출하기 이전에 이미 선언되어 있어야 함
- 사용자가 정의한 모든 함수가 이에 해당

function 함수이름 ( 매개변수1, 매개변수2, … ) {
    문장1 ;
    문장2 ;
    return 반환값 ;
}
사용: 함수이름( 매개변수, 매개변수, …);

내장함수

PHP에는 프로그래밍에 필요한 기능을 미리 정의해서 생성해놓은 내장 함수 포함

문자열 관련 내장함수

<?php
    $tel = "010-1234-5678";
    
    $num_tel = strlen($tel); // 13
    
    // substr(문자, 시작위치, 개수);
    $tel1 = substr($tel, 0, 3); // 010
    $tel2 = substr($tel, 4, 4); // 1234
    
    $phone = explode("-", $tel); // 하이픈(-)을 기준으로 문자열 분리
    echo phone[0]." ".phone[1]." ".phone[2]; // 010 1234 5678
?>

수학 관련 내장함수

<?php
    echo abs(-5.7)."<br>"; // 절댓값 5.7
    echo round(2.4)."<br>"; // 반올림 2
    echo ceil(2.4)."<br>"; // 올림 3
    echo floor(2.4)."<br>"; // 버림 2
    echo pow(2, 3)."<br>"; // 2의 3승(제곱) 8
    echo exp(3.5)."<br>"; // 자연로그 e의 제곱 33.115451958692
    echo sqrt(9)."<br>"; // 제곱근 3
    echo log(10)."<br>"; // 2.302585092994
    echo log10(10)."<br>"; // 1
    echo number_format (12000)."<br>"; // ,추가해서 읽기 쉽게 만듦 12,000 
?>

기타 내장함수

  • checkdate(): 날짜/시간 관련 함수로, 주어진 월(month), 일(day), 연도(year)이 실제로 존재하는 유효한 날짜인지 확인하는 함수. 유효하면 true, 유효하지 않으면 false를 반환.
  • strtolower(): 문자열 처리 함수로, 문자열에 포함된 모든 알파벳을 소문자로 변환하는 함수. 영문 대문자를 소문자로 바꾸고, 소문자나 특수문자는 그대로 유지.
  • isset(): 변수(또는 배열 원소 등)가 정의되어 있는지, null이 아닌지를 확인. 존재하면 true, 존재하지 않으면 false를 반환
728x90

'BE > PHP' 카테고리의 다른 글

[PHP] 세션(Session)  (0) 2025.06.16
[PHP] POST/GET/쿠키  (0) 2025.04.22
[PHP] 조건문/반복문  (0) 2025.04.21
[PHP] PHP 프로그래밍 기초  (1) 2025.04.21
[PHP] MAC M2에서 XAMPP 설치 + VScode에 PHP 세팅하기  (0) 2025.04.20
'BE/PHP' 카테고리의 다른 글
  • [PHP] 세션(Session)
  • [PHP] POST/GET/쿠키
  • [PHP] 조건문/반복문
  • [PHP] PHP 프로그래밍 기초
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (444) N
      • App·Android (1)
      • BE (50)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • 실전 자바 기본, 중급 (1)
        • PHP (11)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (28)
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • Python (0)
        • 빅데이터분석기사 (13)
      • Infra (1)
      • Activity (9) N
        • Intern (0)
        • SK AI Dream Camp (2)
        • 구름톤 유니브 4기 (1)
        • 리모트 인턴십 6기 (3)
        • 봉사활동 (0)
        • 부스트캠프 AI Tech 8기 (3) N
      • CS (8)
      • 취준 (13)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (3)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정렬
    그리디알고리즘
    투포인터
    너비우선탐색
    구현
    누적합
    매개변수탐색
    다이나믹프로그래밍
    이분탐색
    그래프이론
    브루트포스 알고리즘
    티스토리챌린지
    수학
    오블완
    백준
    자료구조
    문자열
    최단경로
    시뮬레이션
    그래프탐색
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[PHP] 배열/함수
상단으로

티스토리툴바