본문 바로가기
IT/PHP

배열 기초

by Jeami 2013. 7. 14.
반응형



배열이란?

같은 타입의 저장 공간이 연속해서 배치되어 있고, index를 이용하여

배열내의 위치에 있는 값을 읽거나 그 위치에 값을 넣을 수 있는 

자료구조입니다.

아래와 같이 변수를 선언합니다.

$배열이름[인덱스]


$now = array(" ", " ", " ",,,,,,);

이렇게 배열을 지정해줍니다. " "안에 값을 넣으면 되구요.

배열을 출력하는 것은

print $now[0]; 이라고 표한할 때, 0번지 값을 출력하라는 의미입니다.

예제를 통해 살펴보겠습니다.


<? php

$arr1 = array("A", "B", "C", "D", "E", "F", "G");

$arr2 = array("A", "B", "D", "E", "F", "G", "H");

$res = array_diff($arr1, $arr2);

foreach ( $res as $ result ){

print "$value<br>";

}

?>

array_diff($a, $b) : 첫번째와 두번째 배열을 비교해서

                 두번째 배열과 다른 첫번째 배열의 값을 찾습니다.

   두 배열을 비교하여 다른 값을 모두 찾는것이 아니라,

   두번째 배열에 없는 첫번째 배열의 값을 찾는다는 것을

   기억해주세요.

foreach($a as $b) : 앞의 변수 값을 뒤에 변수에 복사해라는 의미.



출력된 값은 아래와 같습니다.

C



위에서 살펴본 1차원 배열은 아주 간단하죠.

좀 더 깊이 들여다보겠습니다.

2차원, 3차원, 4차원.... 이렇게 끊임없이 배열을 늘려나갈 수가 있습니다.


$now = array(

array(  

array()

)

   );

이런식으로 계속 늘려나갑니다.


print $now[0][][];

[]기호를 늘려나가면서 다차원 배열을 출력합니다.

예를 통해 살펴보도록 하겠습니다.

<? php

$arrays = array("Kor", "Jpn", "USA", "Aus", "UK");

sort($arrays);

foreach($arrays as $ar){

print "$ar<br>";

}

?>


sort() : 정렬하는 부분입니다. 정렬순서는 알파벳 순서로 정렬합니다.

   출력해보시면 알파벳순서로 정렬된 것을 확인하실 수 있습니다.



그런데 만약 배열에 문자가 아닌 숫자가 함께 들어가있다면 어떻게 정렬이 이루어질까요?


<?php

$arrays = array("s1", "s11", "s21", "s2", "s12", "s22");

natsort($arrays);

foreach($arrays as $ar){

print $ar."<br>";

}

?>

이 경우에는 어떻게 정렬이 되어야 할까요?

상식적으로 판단해봤을때

s1, s2, s11, s12, s21, s22 ,,,, 이렇게 정렬되는 것이 맞겠죠? 숫자가 큰 순서대로일테니까요.

이럴 때는

natsort()를 사용합니다.

프로그래밍에선 natsort()를 사용한다고 보시면 되겠습니다.



반응형

'IT > PHP' 카테고리의 다른 글

메모장 _ 수정하기  (0) 2013.07.27
메모장 목록(저장 된 데이터 불러오기)  (0) 2013.07.24
DB 연결 메모장 글쓰기  (0) 2013.07.24
DB 연결(기초문법)  (1) 2013.07.22
php 배열 함수  (0) 2013.07.14

loading