The PHP Practitioner 02 - Arrays / Associative arrays
29 Dec 2019 | Laracast PHPLaracasts - The PHP Practitioner 강의를 듣고 정리한 포스팅 입니다.
1. Understanding Arrays
array를 사용하면 loop에 매우 잘 활용할 수 있음
foreach($names as $name) {
    echo $name. ', ';
}
HTML과 결합할 경우 다음과 같이 사용 가능
- {}으로 묶어서 HTML 태그와 함께 쓰는 방법과,
- <?php foreach() : ?>+- <?php endforeach; ?>를 사용하는 2가지 방법이 있음.
- HTML DOM 구조가 복잡해지며, 다양한 태그로 묶어야하는 경우가 발생한다면 2번째 방법이 더 선호 될 것임.
<?php
$names = [
    'harry',
    'ron',
    'max',
    'paul',
];
require 'index.view.php';
<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset=UTF-8">
    <title>Document</title>
    <style>
        header {
            background: #e3e3e3;
            padding: 2em;
            text-align: center;
        }
    </style>
</head>
<body>
    <ul>
        <?php
            foreach ($names as $name) {
                echo "<li>$name</li>";
            }
        ?>
    </ul>
    <ul>
        <?php foreach ($names as $name) : ?>
            <li><?= $name; ?></li>
        <?php endforeach; ?>
    </ul>
</body>
</html>
2. Associative Arrays
Key:value의 형태로(마치 파이썬의 딕셔너리) 처럼 연관 배열을 만들 수도 있음
- value만 사용하는 경우 : <?php foreach ($person as $feature) : ?>
- key, value를 사용하는 경우 : <?php foreach ($person as $key => $value) : ?>
<?php
$person = [
    'age' => 31,
    'hair' => 'brown',
    'career' => 'web developer'
];
require 'index.view.php';
</<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <ul>
      	<!-- value만 출력하는 경우 -->
        <?php foreach($person as $feature) : ?>
            <li><?= $feature; ?></li>
        <?php endforeach; ?>
				<!-- key, value를 출력하는 경우 -->
        <?php foreach ($person as $key => $value) : ?>
            <li><strong><?= $key; ?></strong> <?= $value; ?></li>
        <?php endforeach; ?>
    </ul>
</body>
</html>
배열/연관배열에 데이터 추가하기 & 그외 팁
<?php
$person = [
    'age' => 31,
    'hair' => 'brown',
    'career' => 'web developer'
];
$animals = ['dog', 'cat'];
$person['name'] = 'harry'; # 연관배열에 데이터 추가
$animals[] = 'elephant'; # 일반배열에 데이터 추가
//echo $person; // echo는 string을 반환해야함. 배열에는 부적합
var_dump($person); // 배열 출력시 사용 literally dump the values
die(var_dump($person)); // php 코드를 die 시킴.
var_dump($animals);
 
         
            
Comments