Post

PHP: 배열 생성 / 배열을 JSON으로 만들기

배열을 JSON으로 변환하려면 다음 함수를 사용합니다.

1
json_encode($배열)

 

빈 배열을 생성하려면 array()를 사용합니다.

1
2
$arr = array();

 

원소가 있는 배열을 생성하는 방법입니다.

1
2
$arr2 = array("A", "B", "C");

 

연관 배열(associative array)을 만드는 방법입니다. 연관 배열은 다른 언어의 Map, 자바스크립트의 객체(Object) 등과 유사한 자료형입니다.

1
2
$arr3 = array(1 => "http//google.com", 2 = > "http://yahoo.com");

 

키(key)와 값이 있는 연관 배열을 여러 개 만드는 방법입니다.

1
2
$arr4 = array("google" => "http//google.com", "yahoo"=> "http://yahoo.com");

 

기존 배열에 새로운 원소를 추가하는 방법입니다.

1
2
3
$arr2[] = "D";
$arr2[] = "E";

 

배열을 String으로 화면에 출력하려면 print_r($exp, bool return)을 사용합니다. return은 특수한 상황이 아니라면 true를 사용합니다.

1
2
3
4
5
//print_r($exp, bool return)에서 return을 true로 하지 않으면 맨 끝에 1이 출력된다.
echo print_r($arr2, true) ;
echo print_r($arr3, true) ;
echo print_r($arr4, true) ;

1
2
3
4
5
6
7
8
9
Array
(
[0] => A
[1] => B
[2] => C
[3] => D
[4] => E
)

1
2
3
4
5
6
Array
(
[1] => http//google.com
[2] => http://yahoo.com
)

1
2
3
4
5
6
Array
(
[google] => http//google.com
[yahoo] => http://yahoo.com
)

 

배열 안에 배열을 넣은 이중배열 만드는 방법입니다.

1
2
3
$arrBig = array($arr2, $arr3, $arr4);
echo "\n== Array Big ==\n".print_r($arrBig, true);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
== Array Big ==
Array
(
	[0] => Array
	(
		[0] => A
		[1] => B
		[2] => C
		[3] => D
		[4] => E
	)
	[1] => Array
	(
		[1] => http//google.com
		[2] => http://yahoo.com
	)

	[2] => Array
	(
		[google] => http//google.com
		[yahoo] => http://yahoo.com
	)

)

 

배열을 JSON으로 변환하여 echo로 내보내는 예제입니다.

1
2
3
4
5
6
echo "\n== Array Json ==\n";
echo json_encode($arr2)."\n\n";
echo json_encode($arr3)."\n\n";
echo json_encode($arr4)."\n\n";
echo json_encode($arrBig)."\n\n";

1
2
3
4
5
6
7
8
== Array Json ==
["A","B","C","D","E"]

{"1":"http\/\/google.com","2":"http:\/\/yahoo.com"}

{"google":"http\/\/google.com","yahoo":"http:\/\/yahoo.com"}

[["A","B","C","D","E"],{"1":"http\/\/google.com","2":"http:\/\/yahoo.com"},{"google":"http\/\/google.com","yahoo":"http:\/\/yahoo.com"}]
This post is licensed under CC BY 4.0 by the author.