2018년 5월 15일 화요일

[PHP예제] 078 배열 사용하기



  • 배열 생성하기
    • 배열을 생성하려면 array()를 사용.
    • array()의 인수에 복수의 값을 지정하면 인수로 지정한 순서에 따라 배열이 생성
      • $data = array('aaa', 'bbb', 'ccc');
    • PHP 5.4 이후에는 다음도 가능
      • $data = ['aaa', 'bbb', 'ccc'];
    • 다른 방법
      • $data = array(0 => 'aaa', 1 => 'bbb', 2 => 'ccc');
    • PHP 5.4 이후는 다음도 가능
      • $data = [0 => 'aaa', 1 => 'bbb', 2 => 'ccc'];
    • 배열의 대괄호([])에 첨자를 지정하지 않고 대입하면 반드시 배열의 끝에 요소가 추가됨.
      • $data = array();
        $data[] = 'aaa';
        $data[] = 'bbb';
        $data[] = 'ccc';
    • 배열의 요소에 액세스 하려면 다음과 같이 대괄호([])에서 첨자를 지정
      • echo $data[0]; // aaa가 표시됨

        $data[1] = '123'; // 두 번째 요소에 123을 대입



  • 다차원 배열 생성하기
    • array()를 중첩시키면 다차원 배열을 생성할 수 있음
      • $matrix = array(array('00', '01', '02', '03'),
                             array('10', '11', '12', '13'),
                             array('20', '21', '22', '23'));
    • PHP 5.4 이후는 다음과 같이 가능
      • $matrix = [['00', '01', '02', '03'],
                      ['10', '11', '12', '13'],
                      ['20', '21', '22', '23']];
    • 다차원 배열의 요소에 접근하는 경우 다음과 같이 대괄호([])를 연결해서 기술함
      • echo $matrix[1][2]; // 12가 표시됨
    • 다차원 배열 접근
      • $matrix = array();
        $matrix[] = array('00', '01', '02', '03');
        $matrix[] = array('10', '11', '12', '13');
        $matrix[] = array('20', '21', '22', '23');
    • PHP 5.4 이후는 다음 가능
      • $matrix = [];
        $matrix[] = ['00', '01', '02', '03'];
        $matrix[] = ['10', '11', '12', '13'];
        $matrix[] = ['20', '21', '22', '23'];



  • 연관 배열 생성하기
    • 연관 배열이란, 배열의 첨자를 숫자가 아닌 문자열에서 지정하는 배열
    • PHP에서는 일반적인 배열과 연관 배열을 구분하지 않고 같이 사용할 수 있음
    • PHP 배열은 요소를 추가한 순서를 유지함
    • 연관 배열을 생성하려면 다음과 같이 '=>'를 사용해서 기술
    • =>의 왼쪽은 첨자(키), 오른족은 요소(값)
      • $data = array('id'     => 'pine',
                          'name' => '소나무',
                          'age'   => 25);
    • PHP5.4 이후는 다음과 같이 가능
      • $data = ['id'     => 'pine',
                    'name' => '소나무',
                    'age'   => 25];
    • 연관 배열의 요소에 액세스할 경우, 배열과 같이 대괄호([])로 첨자를 지정
      • echo $data['id'];  // pine이 나타남
        echo $data['age']; // 25가 표시
    • 다음도 연관 배열 생성
      • $data = array(); // PHP 5.4 이후는 $data = []; 로 기술 가능

        $data['id'] = 'pine';
        $data['name'] = '소나무';
        $data['age'] = 25;

  • 배열 반복시키기
    • foreach문을 사용하면 간단하게 배열을 반복(loop)시킬 수 있음
      • $data = array('aaa', 'bbb', 'ccc');
        // $data = ['aaa', 'bbb', 'ccc']; // PHP 5.4 이후부터 가능

        // aaa, bbb, ccc의 순서로 표시
        foreach( $data as $val ) {
          echo '<p>' . $val . '</p>';
        }
    • 다음과 같이 기술하면 첨자와 값을 동시에 참조할 수 있음
      • $data = array('aaa', 'bbb', 'ccc');
        // $data = ['aaa', 'bbb', 'ccc']; // PHP 5.4 이후부터 가능

        // 0:aaa, 1:bbb, 2:ccc의 순서로 표시
        foreach( $data as $key => $val ) {
          echo '<p>' . $key . ':' . $val . '</p>';
        }
    • 연관배열에서도 foreach문 사용 가능
      • $data = array('id'     => 'pine',
                          'name' => '소나무',
                          'age'   => 25);

        // id:pine, name:소나무, age:25라고 표시됨
        foreach( $data as $key => $val ) {
          echo '<p>' . $key . ':' . $val . '</p>';
        }






댓글 없음:

댓글 쓰기