메뉴 건너뛰기

프로그램언어

조회 수 1625 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

배열을 테이블로 만들 필요가 생겨 작성했습니다.
rowspan을 적용한 테이블로 만드는 소스 입니다.

만약 아래와 같은 배열이 있다면

$arr = [
 'a' => [
  'b' => 1,
  'c' => 1
 ],
];

아래와 같은 테이블로 만듭니다.

<table>
<tr>
<td rowspan="2">a</td><td>b</td><td>1</td>
</tr>
<tr>
<td>c</td><td>1</td>
</tr>
</table>


class Maketable
{
 
    protected $CI;
 
    public function __construct()
    {
        $this->CI =& get_instance();
    }
 
    public function make_table($data, $convert_fg = true)
    {
        $str = '';
        foreach ($data as $key => $value) {
            $this->make_tr($key, $value, $convert_fg, $str);
        }
        return $str;
    }
 
    public function cnt_depth($data, &$cnt = 0)
    {
        if (is_array($data)) {
            foreach ($data as $value) {
                $this->cnt_depth($value, $cnt);
            }
        } else {
            $cnt++;
        }
        return $cnt;
    }
 
    public function make_tr($key, $data, $convert_fg, &$str = '', &$first = false)
    {
        if (is_array($data)) {
            $head_tr = ($first === true) ? '' : '<TR>';
            $rowspan = $this->cnt_depth($data);
            $key_str = ($convert_fg === true) ? $this->CI->lang->line($key) : $key;
            $str .= $head_tr . "<TD rowspan=\"{$rowspan}\">{$key_str}</TD>";
            $first = true;
            foreach ($data as $key => $value) {
                $this->make_tr($key, $value, $convert_fg, $str, $first);
            }
            $str .= "</TR>";
        } else {
            $head_tr = ($first === true) ? '' : '<TR>';
            $first = false;
            $key_str = ($convert_fg === true) ? $this->CI->lang->line($key) : $key;
            $str .= $head_tr . "<TD>{$key_str}</TD><TD>{$data}</TD></TR>";
        }
        return $str;
    }
}


  1. No Image 08Jan
    by
    2019/01/08 Views 1222 

    사업자번호로 사업자 종류알기

  2. No Image 24Aug
    by
    2020/08/24 Views 470 

    사업자등록번호 유효성 체크

  3. No Image 25Mar
    by
    2021/03/25 Views 307 

    비교연산자 ( === 에 관해서 )

  4. No Image 26Mar
    by
    2021/03/26 Views 340 

    복권 번호 뽑기

  5. No Image 08Jan
    by 조쉬
    2019/01/08 Views 1625 

    배열을 테이블로 만들기

  6. No Image 26Mar
    by
    2021/03/26 Views 231 

    배열 연산자 []= 에 대해서

  7. No Image 26Mar
    by
    2021/03/26 Views 451 

    배열 더하기 (+ 를 이용한 배열 합치기 )

  8. No Image 04Jul
    by
    2018/07/04 Views 5347 

    방금 INSERT 했던 SQL 문의 PK(primary key)값 가져오기

  9. No Image 23Dec
    by
    2016/12/23 Views 18069 

    문자열의 태그를 그대로 출력 (htmlspecialchars)

  10. No Image 23Dec
    by
    2016/12/23 Views 17522 

    문자열에서 태그를 제거 (strip_tags)

  11. No Image 26Mar
    by
    2021/03/26 Views 318 

    문자열 함수 모음

  12. No Image 14Apr
    by
    2015/04/14 Views 20493 

    문자열 치환하기

  13. No Image 23Dec
    by
    2016/12/23 Views 18812 

    문자열 치환 (str_replace)

  14. No Image 23Dec
    by
    2016/12/23 Views 18867 

    문자열 추출하기 (substr)

  15. No Image 23Dec
    by
    2016/12/23 Views 18907 

    문자열 찾기 (strstr)

  16. No Image 14Apr
    by
    2015/04/14 Views 19353 

    문자열 붙이기

  17. No Image 23Dec
    by
    2016/12/23 Views 18950 

    문자열 뒤집기 (strrev)

  18. No Image 14Apr
    by
    2015/04/14 Views 19681 

    문자열 나누기

  19. No Image 26Mar
    by
    2021/03/26 Views 407 

    문자,숫자 랜덤 출력

  20. No Image 16Jan
    by
    2019/01/16 Views 1419 

    문자 숫자 중복 데이타 값 삭제 array_unique 함수

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved