PHP/포스팅

[PHP] foreach 반복문

짜집퍼박사(짜박) 2024. 11. 28. 22:28

PHP의 foreach 문은 배열이나 객체의 요소를 반복(iterate)하면서 각 요소에 쉽게 접근할 수 있도록 도와주는 루프입니다. 일반적으로 배열이나 객체를 처리할 때 많이 사용되며, 코드가 간결하고 가독성이 좋아지는 장점이 있습니다.

 

기본 문법

foreach는 두 가지 주요 형식으로 사용할 수 있습니다.

 

1. 값만 반복

배열의 각 값을 반복하여 처리할 때 사용합니다.

foreach ($array as $value) {
    // $value는 배열의 현재 요소
}

2. 키와 값 반복

배열의 키와 값을 함께 사용할 때 유용합니다.

foreach ($array as $key => $value) {
    // $key는 현재 요소의 키
    // $value는 현재 요소의 값
}

 

 

활용 예제

1. 배열의 값만 출력하기

<?php
$fruits = ["Apple", "Banana", "Cherry"];

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

 

결과:
Apple
Banana
Cherry

 

2. 배열의 키와 값 출력하기

<?php
$person = [
    "name" => "John Doe",
    "age" => 30,
    "email" => "john.doe@example.com"
];

foreach ($person as $key => $value) {
    echo ucfirst($key) . ": " . $value . "<br>";
}
?>

결과:
Name: John Doe
Age: 30
Email: john.doe@example.com

 

3. 다차원 배열 순회

<?php
$products = [
    ["name" => "Laptop", "price" => 1000],
    ["name" => "Phone", "price" => 700],
    ["name" => "Tablet", "price" => 400],
];

foreach ($products as $product) {
    echo "Product: " . $product["name"] . ", Price: $" . $product["price"] . "<br>";
}
?>

결과:
Product: Laptop, Price: $1000
Product: Phone, Price: $700
Product: Tablet, Price: $400

 

4. 객체를 foreach로 순회

<?php
class User {
    public $name;
    public $email;

    public function __construct($name, $email) {
        $this->name = $name;
        $this->email = $email;
    }
}

$user = new User("Jane Doe", "jane.doe@example.com");

foreach ($user as $key => $value) {
    echo ucfirst($key) . ": " . $value . "<br>";
}
?>

결과:
Name: Jane Doe
Email: jane.doe@example.com

 

5. 배열 요소 수정

&를 사용하여 배열 요소를 직접 수정할 수도 있습니다.

<?php
$numbers = [1, 2, 3, 4, 5];

foreach ($numbers as &$number) {
    $number *= 2; // 요소를 두 배로
}
unset($number); // 참조 초기화 (다른 코드에서 문제 방지)

print_r($numbers);
?>

결과:
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )

 

 

주의 사항

1. unset() 사용 권장

참조로 배열 요소를 수정한 경우, 루프가 끝난 후 반드시 참조를 초기화해야 합니다. 이를 위해 unset($variable)을 사용합니다.

 

2. foreach로 키를 수정할 수 없음

foreach는 배열의 키를 변경할 수 없습니다. 키를 수정하려면 array_map()이나 array_walk()와 같은 함수를 사용해야 합니다.

 

 

PHP의 foreach는 배열과 객체를 처리할 때 강력하고 간결한 도구입니다. 위 예제들을 실습해 보면 foreach의 유용함과 다양한 활용 방식을 이해할 수 있습니다.

 

With ChatGPT

'PHP > 포스팅' 카테고리의 다른 글

[PHP] goto 제어문  (0) 2024.11.29
[PHP] match 제어문  (0) 2024.11.28
[PHP] do-while 반복문  (0) 2024.06.02
[PHP] while 반복문  (0) 2024.06.02
[PHP] for 반복문  (0) 2024.06.02