php 크기가 다른 다차원 배열의 자리 맞추는 방법

php 크기가 다른 다차원 배열의 자리 맞추는 방법

QA

php 크기가 다른 다차원 배열의 자리 맞추는 방법

본문


$arr=array(
    "a"=>"apple",
    "b"=>"banana",
    "c"=>array("x","y","z"));
echo "<table border=1>";
echo "<tr>";
foreach($arr as $key=>$val) {
    if(is_array($arr[$key])) {
        foreach($val as $key1=>$val1) {
            echo "<td> {$val1} </td>";
        }
    }else {
        echo "<td> {$val} </td>";
    }
    echo "</tr>";
}
echo "</table>";

 

출력 결과가 아래 처럼 됩니다.

(apple)

(banana)

(x)         (y)     (z)

- ()는 table의 사각형으로 생각하세요

 

원하는 출력 결과는

(apple)      ( )    ( )

(banana)   ( )    ( )

(x)          (y)    (z)

 

즉 3 * 3으로 출력이 되면서 없는 자리에는 공백처리를 어떻게 할까요?

이 질문에 댓글 쓰기 :

답변 2

 


<?php
$arr=array(
    "a"=>"apple",
    "b"=>"banana",
    "c"=>array("x","y","z")
);
    
$arr_cnt = count($arr[max(array_keys($arr))]); // 가장큰배열길이 가져오기

 
echo "<table border=1>";
echo "<tr>";
foreach($arr as $key=>$val) {
  
    if(is_array($arr[$key])) {
        foreach($val as $key1=>$val1) {
            echo "<td> {$val1} </td>";
        }
    }else {
        echo "<td> {$val} </td>";
 
       for($i=0;$i<$arr_cnt-1;$i++)
       {
           echo '<td></td>';
       }
    }
    echo "</tr>";
}
echo "</table>";
?>

$arr_cnt = count($arr[max(array_keys($arr))]); // 가장큰배열길이 가져오기로도 원하는 답을 얻었습니다.

다시 한번 감사드립니다.
 


$arr=array(
    "a"=>"apple",
    "b"=>"banana",
    "c"=>array("x","y","z"));
$arr_cnt = count($arr[max(array_keys($arr))]);
echo "<table border=1>";
echo "<tr>";
foreach($arr as $key=>$val) {
    if(is_array($arr[$key])) {
        foreach($val as $key1=>$val1) {
            echo "<td> {$val1} </td>";
        }
    }else {
        echo "<td> {$val} </td>";
        for($i=0; $i<$arr_cnt-1; $i++) {
            echo "<td></td>";
        }
    }
    echo "</tr>";
}
echo "</table>";
답변을 작성하시기 전에 로그인 해주세요.
전체 123,155 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT