개발/PHP
[PHP] foreach 사용하기
hoilog
2022. 11. 27. 12:45
php에서는 배영에 있는 데이터를 가져올 때 for() 또는 froeach()를 많이 사용합니다.
오늘은 그 중 foreach() 함수에 대해 알아보도록 하겠습니다.
◎ 배열 선언하기 와 배열의 데이터 가져오기
php에서는 배열을 아래와 같이 선언하고 데이터를 가져올 수 있습니다.
<?php
$arr1 = array(1, 2, 3);
$arr2 = ['apple', 'banana', 'orange'];
$arr3 = ['v1' => 'apple', 'v2' => 'banana', 'v3' => 'arange'];
print_r($arr1);
print_r($arr2);
print_r($arr3);
?>
// 결과값
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array
(
[0] => apple
[1] => banana
[2] => orange
)
Array
(
[v1] => apple
[v2] => banana
[v3] => arange
)
◎ foreach로 배열 데이터 가져오기
$arr3 변수의 데이터를 가져와 보도록 하겠습니다.
<?php
foreach ( $arr3 as $row ) {
echo "{$row}\n";
}
?>
// 결과값
apple
banana
arange
◎ foreach로 키와 데이터 가져오기
<?php
foreach ( $arr3 as $key=>$row ) {
echo "{$key} : {$row}\n";
}
?>
// 결과값
v1 : apple
v2 : banana
v3 : arange
◎ 특정 키에 해당하는 배열 값 제거
개발을 하다 보면 배열의 특정키에 해당하는 항목을 제거하고 싶은 경우가 발생합니다.
$arr3 변수의 배열 값 중 'v2'의 키값에 해당하는 데이터 항목을 삭제하도록 하겠습니다. 배열의 항목 삭제는 unset()이라는 함수를 사용합니다.
<?php
foreach ( $arr3 as $key=>$row ) {
if ( $key == 'v2' ) {
unset($arr3[$key]);
}
}
print_r($arr3);
?>
// 결과값
Array
(
[v1] => apple
[v3] => arange
)
◎ 데이터 참조
php foreach에서는 반복문을 실행하면서 바로 가져온 데이터를 수정할 수 있습니다.
이때 사용되는 것이 데이터 참조 (&)입니다.
$arr1 변수의 데이터를 사용하도록 하겠습니다.
<?php
foreach ($arr1 as $key=>&$row) {
$row += 100;
}
print_r($arr1);
?>
// 결과값
Array
(
[0] => 101
[1] => 102
[2] => 103
)
$arr1의 배열의 값은 array(1, 2, 3)이었지만 foreach 문으로 데이터를 가져올 때 데이터 참조 & 를 사용하여 가저온 값에 100씩 더해 주었습니다.
출력된 결괏값을 보면 선언한 값에 100씩 더해진 것을 확인할 수 있습니다.