[PHP] ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌ (3) (feat. ๋ฐฐ์ด)
by ๋๋ถ๋๋ฐฐ์ด
๋ฐฐ์ด์ ํ ์์ ํค(key)์ ๊ฐ(value)์ผ๋ก ์ด๋ฃจ์ด์ง ๋งต(map)์ผ๋ก ๊ตฌ์ฑ๋ ์์๊ฐ ์๋ ์งํฉ์ ๋๋ค.
๋ฐฐ์ด์ ์ฃผ๋ก ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค.
PHP์์์ ๋ฐฐ์ด์ ๋ค์ ์ธ์ด์์ ๋ฆฌ์คํธ๋ผ๊ณ ๋ ํ๋ ํํ์ ๋๋ค! ๐๐
1. 1์ฐจ์ ๋ฐฐ์ด
1.1. ๋ฐฐ์ด ์์ฑ ๋ฐ ์์ ์ถ๊ฐ
๋ฐฐ์ด์ ์์ฑํ ๋๋ array()๋ผ๋ ํจ์๋ฅผ ์ด์ฉํ๋ฉฐ, ๋ฐฐ์ด ์ด๋ฆ์ ๋ฐฐ์ด์ ์ ์ธํ ํ ํด๋น ๋ฐฐ์ด์ ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array();
๋ฐฐ์ด์ ์์์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์ธ๋ฑ์ค(index)๋ฅผ ์ฌ์ฉํ๋๋ฐ, 0๋ถํฐ ์์ํ๋ ์ซ์ ์ธ๋ฑ์ค๋ฅผ ์ง์ํฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ[์ธ๋ฑ์ค]
์ด ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ๋ฉด ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
<?php
$arr = array();
$arr[0] = "A";
$arr[1] = "B";
$arr[2] = "C";
var_dump($arr);
?>
์์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฐฐ์ด์ด ์์ฑ๋๊ณ , ํด๋น ๋ฐฐ์ด์ ์์๊ฐ ์ถ๊ฐ๋์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋๋ ์ ์์ฑํ๊ณ ์ถ๊ฐํด๋ ๋์ง๋ง, ์์ฑ๊ณผ ๋์์ ๋ฐฐ์ด ์์๋ฅผ ์ด๊ธฐํํ ์๋ ์์ต๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array(๋ฐฐ์ด์์1, ๋ฐฐ์ด์์2, ...);
์์ ์ฝ๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง ์๋ ์ฝ๋๋ฅผ ์คํ์์ผ์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค!
<?php
$arr = array();
$arr[0] = "A";
$arr[1] = "B";
$arr[2] = "C";
var_dump($arr);
?>
์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์คํ ๊ฒฐ๊ณผ๊ฐ ๋์ผํจ์ ์ ์ ์์ต๋๋ค.
์์ฑ๊ณผ ๋์์ ์ด๊ธฐํ๋ฅผ ํด์ผํ๋ค๋ฉด ์ด๋ ๊ฒ ์ฐ๋๊ฒ ์ฝ๋ ๊ธธ์ด๊ฐ ๋ ์ค์ด๋ค๊ฒ ๋ค์ ๐๐
1.2. ๋ฐฐ์ด์ ํ (hole)
PHP์์๋ ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์๋ง ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ฐฐ์ด์ ํ๋ ์์ฑํด์ 10๋ฒ ์ธ๋ฑ์ค์๋ง ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ณ ๋๋จธ์ง๋ ๋น ๋ฐฐ์ด๋ก ์ ์งํด๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
<?php
$arr = array();
$arr[10] = "hello";
var_dump($arr);
var_dump($arr[0]);
var_dump(isset($arr[0]));
var_dump(isset($arr[10]));
?>
์คํ์ํจ ๊ฒฐ๊ณผ, ์๋์ ๊ฐ์ด ์ ์ฒด ๋ฐฐ์ด ์ค 10๋ฒ ์ธ๋ฑ์ค์๋ง ์์์ธ 'hello'๊ฐ ๋ค์ด์์์ ํ์ธํ ์ ์์ผ๋ฉฐ,
0๋ฒ ์ธ๋ฑ์ค์๋ ๊ธฐ๋ณธ๊ฐ์ธ null์ด ๋ค์ด์์์ ํ์ธ ํ ์ ์์ต๋๋ค.
isset() ํจ์๋ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ๋ณ์๊ฐ ์ด๊ธฐํ๋์ด ์๋์ง ํ์ธํด์ฃผ๋๋ฐ,
0๋ฒ ์ธ๋ฑ์ค๋ ์ด๊ธฐํํ์ง ์์๊ธฐ ๋๋ฌธ์ false, 10๋ฒ ์ธ๋ฑ์ค๋ 'hello'๋ก ์ด๊ธฐํํ๊ธฐ ๋๋ฌธ์ true๋ฅผ ๋ฐํํฉ๋๋ค.
์ด๋ ๋ฏ PHP์์๋ ๋น ๋ฐฐ์ด์ ์ผ๋ถ ๊ฐ๋ง ์ฑ์ธ ์ ์์ผ๋ฉฐ, ๋ฐฐ์ด ์์๊ฐ ์๋ ๋ถ๋ถ์ ๋ฐฐ์ด์ ํ(hole)์ด๋ผ๊ณ ํฉ๋๋ค.
PHP์์๋ ์ด๋ฌํ ๋ฐฐ์ด์ ํ์ ์ฐธ์กฐํ๊ฒ ๋๋ฉด, ์ด๊ธฐํ๋์ง ์์ ๋ณ์๋ฅผ ์ฐธ์กฐํ ๋์ฒ๋ผ ๊ธฐ๋ณธ๊ฐ์ธ null์ ๋ฐํํฉ๋๋ค.
1.3. ๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ
๋ฐฐ์ด์ ์๋ ์ ๋ณด๋ฅผ ํ๋์ฉ ๊บผ๋ด์ ์ฒ๋ฆฌํ๊ณ ์ถ๋ค๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
<?php
$arr = array("A", "B", "C");
for ($i=0; $i<count($arr); $i++) {
echo $arr[$i]."<br/>";
}
?>
์์ ์ฝ๋์์ count()๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์์ ๋๋ค.
๋ฐฐ์ด์ 3๊ฐ์ ์์๊ฐ ์กด์ฌํ๋ฏ๋ก count($arr)์ 3์ด๊ฒ ๋ค์! ๐๐
๊ทธ๋ ๋ค๋ฉด ๋ง์ฝ ๋ฐฐ์ด์ ์ผ๋ถ ์์๋ง ์ฑ์์ ธ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ๐ค๐ค
<?php
$arr = array();
$arr[2] = "A";
$arr[3] = "B";
$arr[4] = "C";
for ($i=0; $i<count($arr); $i++) {
echo $arr[$i]."<br/>";
}
?>
์ฝ๋๋ฅผ ์คํ์ํจ ๊ฒฐ๊ณผ, A๋ง ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฝ๊ฒ๋ count()๋ ์ ์ฒด ๊ธธ์ด๊ฐ ์๋ ๋ฐฐ์ด์ ์์์ ๋ํ ์๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์
3๋ฒ์ ๋ฐ๋ณต๋ฌธ ์ํ์ผ๋ก 0, 1, 2๋ฒ ์ธ๋ฑ์ค์ ๋ํด์๋ง ์ ๊ทผ์ ํ์ต๋๋ค. ๐ ๐
๊ทธ๋ ๋ค๋ฉด ์์์๋ง ์ ๊ทผํ์ฌ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ์์๊น์?!
์์ต๋๋ค!! foreach๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ์ ๊ทผํ ์ ์์ด์!
<?php
$arr = array();
$arr[2] = "A";
$arr[3] = "B";
$arr[4] = "C";
foreach ($arr as $element) {
echo $element."<br/>";
}
?>
๋ค์ ์ฝ๋๋ฅผ ์ํ์ํค๋ฉฐ ์๋์ ๊ฐ์ด A, B, C๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐฐ์ด์ ๋น ์์๊ฐ ์๋ค๋ฉด, foreach๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข์ ๊ฒ ๊ฐ๋ค์..! ๐๐
1.4. ๋ฐฐ์ด์ ์กฐ์
์ด์ ์๋ ์ธ๊ธํ๋ฏ PHP ๋ฐฐ์ด์ ๋ค๋ฅธ ์ธ์ด์์ ๋ฆฌ์คํธ ํํ์ ๋ฐ์ดํฐ ํ์ ์ด๊ธฐ ๋๋ฌธ์
๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ํ, ์ ๋ ฌ๊ณผ ์ญ์ ์ ๋ ฌ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ป๊ฒ ์ฐ๋์ง ์ฝ๋๋ก ํ์ธํด๋ณด๊ฒ ์ต๋๋ค!
<?php
// ๋ฐฐ์ด ์ด๊ธฐํ
$arr = array("A", "B", "C");
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ๋งจ ๋์ ์์ ์ถ๊ฐ
array_push($arr, "D");
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ๋งจ ๋์ ๋ณต์ ์์ ์ถ๊ฐ (๋ฐฐ์ด ๊ฒฐํฉ ๋๋)
$arr = array_merge($arr, ["E", "F"]);
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ๋งจ ์์ ์์ ์ถ๊ฐ
array_unshift($arr, "G");
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ํน์ ์์น์ ์์ ์ถ๊ฐ.
// ์ฌ๊ธฐ์๋ 2๋ฒ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ถ๊ฐํ๋ฉฐ, ๊ธฐ์กด์ ์์๋ค์ ํ ์นธ์ฉ ๋ฐ์ด๋
array_splice($arr, 2, 0, "H");
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ง์ฝ ๊ธฐ์กด์ 2๋ฒ ์์๋ถํฐ ๊ธธ์ด 4๊น์ง๋ฅผ ์ ๊ฑฐํ๊ณ ๋ ํ,
// 2๋ฒ ์ธ๋ฑ์ค์ ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฐ๋ฉด ๋จ
array_splice($arr, 2, 4, "I");
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ๋งจ ์ ์์ ์ ๊ฑฐ
array_shift($arr);
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ๋ฐฐ์ด์ ๋งจ ๋ค ์์ ์ ๊ฑฐ
array_pop($arr);
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ์ ๋ ฌ
sort($arr);
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
// ์ญ์ ์ ๋ ฌ
rsort($arr);
for ($i = 0; $i < count($arr); $i++)
echo $arr[$i];
echo "<br />";
?>
์ฝ๋๋ฅผ ์ํ์ํจ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ค ๋๋์ธ์ง ์์๊ฒ ์ฃ ?!
ํน์ ๋ชฐ๋ผ ์ฐ๋ ๋ฐฉ์์ ๋ํด ํ ๋ฒ ๋ ์ ๋ฆฌํด๋ณด์์ต๋๋ค!
๋ฐฐ์ด์ ๋งจ ๋์ ์์ ์ถ๊ฐ
array_push($๋ฐฐ์ด์ด๋ฆ, ๋ฐฐ์ด์์);
๋ฐฐ์ด์ ๋งจ ๋์ ๋ณต์ ์์ ์ถ๊ฐ
$๋ฐฐ์ด์ด๋ฆ = array_merge($๋ฐฐ์ด์ด๋ฆ, [๋ฐฐ์ด์์1, ๋ฐฐ์ด์์2]);
๋ฐฐ์ด์ ๋งจ ์์ ์์ ์ถ๊ฐ
array_unshift($๋ฐฐ์ด์ด๋ฆ, ๋ฐฐ์ด์์);
๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์์ ์ถ๊ฐ
array_splice($๋ฐฐ์ด์ด๋ฆ, ์ธ๋ฑ์ค๋ฒํธ, 0, ๋ฐฐ์ด์์);
๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค ๊ธฐ์ค์ผ๋ก ํน์ ๊ธธ์ด ์ ๊ฑฐ ํ ์์ ์ถ๊ฐ
array_splice($๋ฐฐ์ด์ด๋ฆ, ์ธ๋ฑ์ค๋ฒํธ, ์ ๊ฑฐํ ๊ธธ์ด, ๋ฐฐ์ด์์);
๋ฐฐ์ด์ ๋งจ ์ ์์ ์ ๊ฑฐ
array_shift($๋ฐฐ์ด์ด๋ฆ);
๋ฐฐ์ด์ ๋งจ ๋ค ์์ ์ ๊ฑฐ
array_pop($๋ฐฐ์ด์ด๋ฆ);
์ ๋ ฌ
sort($๋ฐฐ์ด์ด๋ฆ);
์ญ์์ ๋ ฌ
rsort($๋ฐฐ์ด์ด๋ฆ);
2. ๋ค์ฐจ์ ๋ฐฐ์ด
๋ค์ฐจ์ ๋ฐฐ์ด์ 2์ฐจ์ ์ด์์ ๋ฐฐ์ด์ ์๋ฏธํ๋ฉฐ, ๋ฐฐ์ด ์์๋ก ๋ ๋ค๋ฅธ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ํํ์ ๋๋ค.
2.1. 2์ฐจ์ ๋ฐฐ์ด
2์ฐจ์ ๋ฐฐ์ด์ด๋ ๋ฐฐ์ด ์์๋ก ๋ ๋ค๋ฅธ 1์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๋ฐฐ์ด์ ์๋ฏธํฉ๋๋ค.2์ฐจ์ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ๋ฒ์ ๋ฐ๋ผ ์ ์ธ๋ฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array(
array(),
array(),
....
);
2.2. 2์ฐจ์ ๋ฐฐ์ด ์์ ์ ๋ ฅ
2์ฐจ์ ๋ฐฐ์ด๋ 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋์ผํ๊ฒ ์์์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
2์ฐจ์ ๋ฐฐ์ด์ ์ํ ์์์ ์ ๊ทผํ ๋์๋ [] ์ฐ์ฐ์๋ฅผ ๋ ๋ฒ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
<?php
// 1์ฐจ์ ๋ฐฐ์ด์ 3๊ฐ ๊ฐ๋ 2์ฐจ์ ๋ฐฐ์ด ์ ์ธ
$arr = array(
array(),
array(),
array()
);
// ๋ฐฐ์ด์ ์์ ์ถ๊ฐ
$arr[0][0] = "A";
$arr[0][1] = "B";
$arr[0][2] = 100;
$arr[1][0] = "C";
$arr[1][1] = 200;
$arr[1][2] = "E";
$arr[2][0] = false;
$arr[2][1] = 0.03;
$arr[2][2] = true;
var_dump($arr);
echo $arr[0][0]." ".$arr[0][1]." ".$arr[0][2]."<br/>";
echo $arr[1][0]." ".$arr[1][1]." ".$arr[1][2]."<br/>";
echo $arr[2][0]." ".$arr[2][1]." ".$arr[2][2]."<br/>";
?>
PHP๋ ์ ๊ธฐํ๊ฒ๋ ์๋ก ๋ค๋ฅธ ํ์ด ์ ์ฅ๋๋ ํํ๋๋ผ๊ตฌ์?! ๐คซ๐คซ
๋ณดํต ๋ค๋ฅธ ์ธ์ด์์๋ ๋ฐฐ์ด์ ๊ฐ์ ํ๋ง ์ ์ฅ๋์ด์ ์กฐ๊ธ ๋๋ฌ์ด์. ์ด๋ฐ ์ ๊ธฐํ ์ธ์ด๊ฐ ์๋ค๋..!! ๐ฎ๐ฎ
์ธ๋ฑ์ค์ ์ ๊ทผํด์ ์ถ๋ ฅํด๋ณด๋ false๋ ์๋ฌด๋ฐ ๊ฐ๋ ์ถ๋ ฅ๋์ง ์๊ณ , true๋ 1์ด ์ถ๋ ฅ๋๋๋ผ๊ตฌ์
์ ์ ์๋ PHP์ ๋ฐฐ์ด ๋ฐฉ์.......... ์กฐ๊ธ ์ถฉ๊ฒฉ์ ์ด์์ด์..... ๐.......
1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 2์ฐจ์ ๋ฐฐ์ด๋ ์ ์ธํ๋ฉด์ ๋์์ ๋ฐฐ์ด ์์๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array(
array(๋ฐฐ์ด์์00, ๋ฐฐ์ด์์01, ...),
array(๋ฐฐ์ด์์10, ๋ฐฐ์ด์์11, ...),
...
);
2.3. 2์ฐจ์ ๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ
for๋ฌธ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐ์ด ์์์ ์ ๊ทผํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค!
๋ค๋ง, 1์ฐจ์ ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ํ๊ณผ ์ด์ ๋ํด for๋ฌธ์ 2๋ฒ ์ฌ์ฉํด์ผํฉ๋๋ค.
<?php
// 1์ฐจ์ ๋ฐฐ์ด์ 3๊ฐ ๊ฐ๋ 2์ฐจ์ ๋ฐฐ์ด ์ ์ธ
$arr = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
for($row = 0; $row < count($arr); $row++){
for($column = 0; $column < count($arr[$row]); $column++){
echo $arr[$row][$column]." ";
}
}
?>
Comment
์ฝ๋ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ ๋๋ก ์ ๊ทผ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
2์ฐจ์ ๋ฐฐ์ด๋ฟ๋ง ์๋๋ผ ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ํด์๋ ์ด๋ป๊ฒ ํด์ผํ ์ง ์๊ฒ ์ฃ ?! ๐๐
3. ์ฐ๊ด ๋ฐฐ์ด
PHP์์๋ ์ซ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด๋ ๋ฐฐ์ด ์์์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ธ์ด์์ Hash Map, Dictionary์ ๋น์ทํ ๋๋์ด์ฃ .... ์ด๋ฐ ๊ฒ๋ ๋๋ค์..?! ๐......
๋ง์ฝ ์ ์์ ๋ฌธ์์ด ์ด์ธ์ ๋ค๋ฅธ ํ์ ์ ๊ฐ์ ํค ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ฉด,
๋ด๋ถ์ ์ผ๋ก ์ ์์ ๋ฌธ์์ด๋ก ํ์ ๋ณํ์ด ์ด๋ฃจ์ด์ง๋๋ค.
์ฐ๊ด ๋ฐฐ์ด์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ์๋ฅผ ์ธ๋ฑ์ค๋ก ํ๋ ๋ฐฐ์ด์ ์์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผํฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array();
3.1. ์ฐ๊ด ๋ฐฐ์ด์ ์ฐธ์กฐ
์ฐ๊ด ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ฐธ์กฐํ๊ณ ์ถ์ ๋๋ ๋ฐฐ์ด ์ด๋ฆ๊ณผ ํจ๊ป ํค(key)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ["ํค"] = ๊ฐ;
์ ์ธ๊ณผ ๋์์ ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด ๋ค์ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
$๋ฐฐ์ด์ด๋ฆ = array("ํค1" => ๊ฐ1, "ํค2" => ๊ฐ2, ...);
์ด๋ฏธ ์์ฑ๋ ์ฐ๊ด ๋ฐฐ์ด์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ฉฐ,
์กด์ฌํ์ง ์์ ๋ฐฐ์ด์ผ ๊ฒฝ์ฐ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ํ ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๋งค์ฐ ํธํ ๊ตฌ์กฐ๋ค์!
<?php
$arr = array("A" => 100, "B" => 20);
$arr["C"] = 2000;
var_dump($arr);
?>
์๋ ๊ฒฐ๊ณผ๋ฅผ ํตํด ์ ์ธ๊ณผ ๋์์ ์์ ์ถ๊ฐํ ํ, ์์ฑ๋ ์ฐ๊ด ๋ฐฐ์ด์ ์๋ก์ด ์์ ์ถ๊ฐ๊ฐ ๋๋ ๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
3.2. ๋ฃจํ๋ฅผ ์ด์ฉํ ์ฐ๊ด ๋ฐฐ์ด๋ก์ ์ ๊ทผ
๊ทธ๋ ๋ค๋ฉด ์ฐ๊ด ๋ฐฐ์ด์ ์ด๋ป๊ฒ ๋ชจ๋ ๋ฐฐ์ด ์์์ ์ ๊ทผํ ๊น์?
์ธ๋ฑ์ค๊ฐ ์ซ์๊ฐ ์๋๋ฏ๋ก, for๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด ์์์ ์ ๊ทผ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋์ foreach๋ฌธ์ด๋ each() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํด์ผ ํฉ๋๋ค.
<?php
$arr = array("A" => 100, "B" => 20, "C" => 30);
echo "foreach ์ฌ์ฉ<br />";
foreach ($arr as $key => $value) {
echo $key."=>".$value."<br />";
}
echo "<br />";
echo "each ์ฌ์ฉ<br />";
while($element = each($arr)) {
echo $element["key"]."=>".$element["value"]."<br />";
}
?>
์คํ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด๋ณด๋ฉด ๋ฐฐ์ด ์์์ ์ ๊ทผํ๋ ๊ฒ์ ์ ์ ์์ฃ ?! ๐๐
๊ธธ์๋ ๋ฐฐ์ด์ ๋ํ ์ค๋ช ์ด ๋๋ฌ์ต๋๋ค..! ๐๐
๐Reference
'PHP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PHP] ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌ (2) (feat. ์ฐ์ฐ์, ์ ์ด๋ฌธ) (0) | 2021.07.13 |
---|---|
[PHP] ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌ (1) (0) | 2021.07.12 |
[PHP] ์ฒซ ๋ฒ์งธ PHP ์ ํ๋ฆฌ์ผ์ด์ ์์ฑํ๊ธฐ (0) | 2021.07.12 |
[PHP] PHP Storm ์ค์ (0) | 2021.07.12 |
[PHP] Bitnami๋ก PHP ํ๊ฒฝ ์ธํ ํ๊ธฐ (0) | 2021.07.12 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
๋๋ถ๋์ Devlog
๋๋ถ๋