Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
php 크기가 다른 다차원 배열의 자리 맞추는 방법

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

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

QA

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

답변 2

본문


$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>";
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로