해리의 데브로그

The PHP Practitioner 02 - Arrays / Associative arrays

|

Laracasts - 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