메뉴 건너뛰기

프로그램언어

2015.04.14 19:19

array (배열)

조회 수 24904 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
배열(array)은 한번에 하나 이상의 값들을 담을 수 있는 특별한 변수이다.
PHP 에서는 array() 함수를 사용하여 배열을 만든다.
array 를 사용하면 코딩도 줄여주면서 쉽게 여러 변수를 생성할 수 있는 장점이 있다.
PHP 에는 배열의 세 가지 유형이 있다:
    Indexed arrays - 숫자 인덱스를 갖는 배열
    Associative arrays - 이름 키(named keys)를 갖는 배열
    Multidimensional arrays - 하나 이상의 배열을 포함하는 배열

1. Indexed arrays
<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);  // count() 함수는 배열의 길이(요소의 개수)를 반환하는데 사용된다.

for($i=0;$i < $arrlength; $i++)
{
  echo $cars[$i];
  echo "<br>";
}
?>
array 에 많은 값을 담게 되면 몇 번째의 내용인지 종종 헷갈릴 수 있는데 이러한 것을 막기 위해 count 함수를 이용한다.
그런데 count() 함수는, "요소 개수가 0인 배열"과 "존재하지 않는 배열" 모두 0을 반환하기에 혼란스러운 점이 있다.
이때는 isset() 함수를 사용하여 그 배열이 실재하는지 우선 체크하는 것이 좋다.

<?php
$cars=array("Volvo","BMW","Toyota");
sort($cars);    // 오를차순으로 정렬, rsort()는 내림차순으로 정렬
$arrlength=count($cars);  // count() 함수는 배열의 길이(요소의 개수)를 반환하는데 사용된다.

for($i=0;$i < $arrlength; $i++)
{
  echo $cars[$i];
  echo "<br>";
}
?>

2. 연계 배열(Associative Arrays)
연계 배열(Associative arrays)은 값을 할당하는데 이름 키(named keys)를 사용하는 배열이다

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
배열로 표기된 것을 아래와 같이 표기할 수 있다.
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $key => $value) {
     echo "Key=" . $key . ", Value=" . $value;
     echo "<br>";
}
?>

결과는
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

=> 를 기준으로 좌측에 있는 부분을 키값이라고 하고, 우측에 있는 부분을 값이라고 한다.

<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);    // 값에 따라 오름차순으로 연관된 배열을 정렬한다.
foreach($age as $key => $value) {
     echo "Key=" . $key . ", Value=" . $value;
     echo "<br>";
}
?>

ksort() 는 키값에 따라 오름차순으로 연관된 배열을 정렬한다.
arsort() 는 값에 따라 내림차순으로 연관된 배열을 정렬한다.
krsort() 는 키값에 따라 내림차순으로 연관된 배열을 정렬한다.

3. Multidimensional Arrays
다차원 배열(multidimensional arrays)은 하나 이상의 배열을 포함하는 배열이다.
<?php
$cars = array
   (
   array("Volvo",22,18),
   array("BMW",15,13),
   array("Saab",5,2),
   array("Land Rover",17,15)
   );
 
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>

  1. CodeIgniter - DB오류체크, 디버깅 여부 설정

    Date2021.03.29 Views494
    Read More
  2. Class를 이용한 DB Connection 소스 (Oracle, MyS

    Date2014.02.27 Views30504
    Read More
  3. class_exists 클래스가 정의되었는지 확인

    Date2016.12.23 Views19881
    Read More
  4. call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용

    Date2016.12.23 Views21305
    Read More
  5. base64 인코딩/디코딩 함수의 특징

    Date2018.02.09 Views13078
    Read More
  6. array_slice 배열의 일부를 추출

    Date2016.12.23 Views20775
    Read More
  7. array_push 배열 끝에 하나 이상의 요소를 추가

    Date2016.12.23 Views21604
    Read More
  8. array_key_exists 배열에서 key가 존재하는지 확인

    Date2016.12.23 Views22206
    Read More
  9. array (배열)

    Date2015.04.14 Views24904
    Read More
  10. AJAX를 활용하여 JSON 댓글 처리하기 (PHP)

    Date2018.07.04 Views8456
    Read More
  11. AJAX로 해당 페이지에서 COOKIE 사용하기

    Date2021.03.26 Views359
    Read More
  12. Ajax로 구연한 실시간 서버시간출력

    Date2017.03.06 Views21031
    Read More
  13. ajax refresh 시키기(자동리플래쉬) with php

    Date2017.03.06 Views23185
    Read More
  14. addslashes 함수의 필요성

    Date2015.04.14 Views24250
    Read More
  15. addslashes — 문자열을 슬래시로 인용

    Date2016.12.23 Views23083
    Read More
  16. 13자리 timestamp 생성하기

    Date2020.09.28 Views649
    Read More
  17. $_SERVER변수

    Date2014.02.27 Views24444
    Read More
  18. $_SERVER 환경변수

    Date2016.09.21 Views33237
    Read More
  19. $_SERVER 함수

    Date2016.12.23 Views23943
    Read More
  20. $_FILES

    Date2016.12.23 Views23847
    Read More
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved