'2008/06/09'에 해당되는 글 1건

  1. Tips: php에서 array 사용하기 2008/06/09

php에서는 array()를 이용하여 배열을 만들어 쓸 수 있다. php의 배열에는 numeric과 associative의 두 가지 타입이 있는데, numeric은 Java나 C/C++에서의 array와 비슷하다고 보면 된다.

$names = array("Peter", "John", "Joe");

와 같이 선언하면 다음과 같이 for문을 이용하여 출력할 수 있다. 여기서 array의 크기를 알기 위해서 count()함수를 이용하였는데, sizeof()를 이용해도 된다.

for ($i = 0; $i < count($names); $i++)
echo $names[$i];

그러나 Java나 C/C++과는 달리 array_push()함수를 이용하여 element를 더 추가할 수도 있다. 이 때 여러 element를 한꺼번에 추가할 수도 있다.

array_push($names, "Doug", "Brian");

associative array는 hashtable과 비슷한데, 0부터 생성되는 숫자로 된 index가 아닌 임의의 숫자/문자열을 index로 쓸 수 있다. 다음과 같이 선언할 수 있다.

$ages = array("Peter" => 32, "John" => 24, "Joe" => 50);

이 경우 다음과 같이 출력할 수 있는데,

echo "Peter's age is ".$ages["Peter"];

이 경우 index로 쓰인 숫자/문자열을 모두 알고 있어야 한다. 만약 모르는 경우에는 다음과 같이 foreach문을 이용하여 iteration할 수 있다.

foreach($ages as $idx=>$val)
echo $idx."'s age is ".$val;

마지막으로 php의 array도 다차원으로 선언해 쓸 수 있는데, 선언하는 방법은 다음과 같다.

$families = array(
"Peter"=>array("George", "Lois", "Megan"),
"John"=>array("Glenn"),
"Joe"=>array("Cleveland", "Loretta", "Junior"));

물론 다음과 같이 할 수도 있다.

$families = array();
$families["Peter"] = array();
$families["John"] = array();
$families["Joe"] = array();
array_push($families["Peter"], "George", "Lois", "Megan");
array_push($families["John"], "Glenn");
array_push($families["Joe"], "Cleveland", "Loretta", "Junior");

출력할 때는 일반적인 다차원 배열에 접근하는 방법과 동일하다.

echo "Peter has ".$families["Peter"][0]." in his family";

참조:
http://www.w3schools.com/php/php_arrays.asp
http://www.plus2net.com/php_tutorial/array_size.php
http://kr2.php.net/manual/en/control-st ··· each.php
2008/06/09 00:49 2008/06/09 00:49
Tag // ,