[PHP] 배열과 foreach

혜진·2025년 11월 2일

PHP

목록 보기
4/7
post-thumbnail

PHP 배열과 foreach

배열(Array)

하나의 변수에 여러 값을 저장하는 자료 구조

배열 출력하기

<?php
$fruits = ["사과", "바나나", "포도"];

echo $fruits[0]; // 사과
echo "<br>";
echo $fruits[2]; // 포도
?>

foreach 반복문으로 배열 전체 출력

foreach (배열 as 요소)는 배열의 모든 값을 순서대로 하나씩 꺼내준다.

<?php
$fruits = ["사과", "바나나", "포도"];

foreach ($fruits as $fruit) {
    echo $fruit . "<br>";
}
?>

📘 출력

사과
바나나
포도

인덱스(key) 함께 출력하기

<?php
$fruits = ["사과", "바나나", "포도"];

foreach ($fruits as $index => $fruit) {
    echo "$index : $fruit <br>";
}
?>

📘 출력

0 : 사과
1 : 바나나
2 : 포도

배열 추가 / 삭제

<?php
$fruits = ["사과", "바나나"];
$fruits[] = "포도";         // 끝에 추가
array_push($fruits, "딸기"); // 여러 개도 가능

unset($fruits[1]);           // 인덱스 1의 값(바나나) 삭제
$fruits = array_values($fruits); // 인덱스 재정렬

print_r($fruits);
?>

📘 출력

Array ( [0] => 사과 [1] => 포도 [2] => 딸기 )

예제 - 과일 개수와 확인

<?php
$fruits = ["사과", "바나나", "포도"];

echo "과일 개수: " . count($fruits) . "<br>";

if (in_array("바나나", $fruits)) {
    echo "바나나가 있습니다!";
} else {
    echo "바나나가 없습니다.";
}
?>

📘 출력

과일 개수: 3
바나나가 있습니다!

연관 배열 (Associative Array)

배열의 각 요소에 숫자 대신 문자 키(key) 를 지정할 수 있다.

<?php
$prices = [
    "사과" => 1200,
    "바나나" => 800,
    "포도" => 1500
];

foreach ($prices as $name => $price) {
    echo "$name : {$price}원<br>";
}
?>

📘 출력

사과 : 1200원
바나나 : 800원
포도 : 1500

다차원 배열 (2차원 배열)

배열 안에 또 다른 배열이 들어있는 형태이다.

<?php
$products = [
    ["name" => "사과", "price" => 1200],
    ["name" => "바나나", "price" => 800],
    ["name" => "포도", "price" => 1500],
];

foreach ($products as $item) {
    echo $item["name"] . " - " . $item["price"] . "원<br>";
}
?>

📘 출력

사과 - 1200원
바나나 - 800원
포도 - 1500

정렬 함수

<?php
$fruits = ["사과", "포도", "바나나"];

sort($fruits);   // 오름차순
print_r($fruits);

rsort($fruits);  // 내림차순
print_r($fruits);
?>

📘 출력

Array ( [0] => 바나나 [1] => 사과 [2] => 포도 )
Array ( [0] => 포도 [1] => 사과 [2] => 바나나 )

배열을 JSON으로 변환하기

배열을 JSON 형태로 변환하려면 json_encode()를 사용한다.

<?php
$fruits = ["사과", "바나나", "포도"];
echo json_encode($fruits, JSON_UNESCAPED_UNICODE);
?>

📘 출력

["사과","바나나","포도"]

0개의 댓글