메뉴 건너뛰기

프로그램언어

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. No Image 23Dec
    by
    2016/12/23 Views 23847 

    $_FILES

  2. No Image 23Dec
    by
    2016/12/23 Views 23943 

    $_SERVER 함수

  3. No Image 21Sep
    by
    2016/09/21 Views 33237 

    $_SERVER 환경변수

  4. No Image 27Feb
    by
    2014/02/27 Views 24444 

    $_SERVER변수

  5. 13자리 timestamp 생성하기

  6. No Image 23Dec
    by
    2016/12/23 Views 23083 

    addslashes — 문자열을 슬래시로 인용

  7. No Image 14Apr
    by
    2015/04/14 Views 24250 

    addslashes 함수의 필요성

  8. ajax refresh 시키기(자동리플래쉬) with php

  9. No Image 06Mar
    by
    2017/03/06 Views 21031 

    Ajax로 구연한 실시간 서버시간출력

  10. No Image 26Mar
    by
    2021/03/26 Views 359 

    AJAX로 해당 페이지에서 COOKIE 사용하기

  11. No Image 04Jul
    by
    2018/07/04 Views 8456 

    AJAX를 활용하여 JSON 댓글 처리하기 (PHP)

  12. No Image 14Apr
    by 조쉬
    2015/04/14 Views 24904 

    array (배열)

  13. No Image 23Dec
    by
    2016/12/23 Views 22206 

    array_key_exists 배열에서 key가 존재하는지 확인

  14. No Image 23Dec
    by
    2016/12/23 Views 21604 

    array_push 배열 끝에 하나 이상의 요소를 추가

  15. No Image 23Dec
    by
    2016/12/23 Views 20775 

    array_slice 배열의 일부를 추출

  16. base64 인코딩/디코딩 함수의 특징

  17. No Image 23Dec
    by
    2016/12/23 Views 21305 

    call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용

  18. No Image 23Dec
    by
    2016/12/23 Views 19881 

    class_exists 클래스가 정의되었는지 확인

  19. No Image 27Feb
    by
    2014/02/27 Views 30504 

    Class를 이용한 DB Connection 소스 (Oracle, MyS

  20. No Image 29Mar
    by
    2021/03/29 Views 494 

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

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved