메뉴 건너뛰기

프로그램언어

조회 수 1629 추천 수 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 07Feb
    by
    2024/02/07 Views 79 

    PHP 버전 숨기기 ( php version hide )

  2. No Image 12Jan
    by
    2023/01/12 Views 188 

    php 두날짜 사이의 모든날짜 배열 만들기

  3. No Image 12Jan
    by
    2023/01/12 Views 202 

    PHP str_replace php 문자열치환

  4. No Image 12Jan
    by
    2023/01/12 Views 214 

    PHP 이미지 리사이즈 함수 imagecopyresized

  5. HTTP 인증하기, 로그인창 띄우기

  6. No Image 27Mar
    by
    2021/03/27 Views 215 

    [PHP기초] 상속기본

  7. No Image 12Jan
    by
    2023/01/12 Views 216 

    코드 생성 하기

  8. No Image 12Jan
    by
    2023/01/12 Views 225 

    폴더 용량 체크

  9. No Image 12Jan
    by
    2023/01/12 Views 225 

    PHP SimpleHtmlDom Parser로 HTML 파싱하기

  10. No Image 26Mar
    by
    2021/03/26 Views 229 

    조건문의 함수실행 여부 if ( 0 && ... )

  11. No Image 12Jan
    by
    2023/01/12 Views 231 

    ereg(), eregi(), ereg_replace(), eregi_replace(), split() 대체

  12. No Image 12Jan
    by
    2023/01/12 Views 233 

    PHP 파일 업로드 FORM 처리

  13. No Image 26Mar
    by
    2021/03/26 Views 234 

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

  14. No Image 27Mar
    by
    2021/03/27 Views 235 

    클래스와 인스턴스 그리고 메소드 만들기

  15. No Image 12Jan
    by
    2023/01/12 Views 235 

    웹페이지 파싱

  16. No Image 12Jan
    by
    2023/01/12 Views 237 

    PHP 디렉토리안에 파일 리스트 가져오기

  17. No Image 12Jan
    by
    2023/01/12 Views 239 

    php www 붙이기

  18. No Image 26Mar
    by
    2021/03/26 Views 240 

    상수, 마법상수, 모든 상수 보기

  19. No Image 12Jan
    by
    2023/01/12 Views 240 

    PHP http -> https 로 전환

  20. No Image 12Jan
    by
    2023/01/12 Views 240 

    PHP 하위 디렉토리 포함 디렉토리 리스트 출력

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved