리스트에 값이 있는 내용만 보이게 하려면 채택완료

list에 wr_1,wr_2,wr_3 을 노출하려합니다. 여기서값이 있는 내용만 노출하려 하는데.

어떻게 코드를 넣어야 할까요?

 

아래처럼 하면 안됩니다. --

 

    <?php if (isset($list['wr_1']) && $list['wr_1']) { ?>
                                <?php echo $list[$i]['wr_1'] ?>
                            <?php } ?>

 

 

 

답변 7개

채택된 답변
+20 포인트

Copy
<?php if (isset($list[$i]['wr_1']) && strlen($list[$i]['wr_1']) > 0) { ?>

  <?php echo $list[$i]['wr_1'] ?>

<?php } ?>

<?php if (isset($list[$i]['wr_2']) && strlen($list[$i]['wr_2']) > 0) { ?>

  <?php echo $list[$i]['wr_2'] ?>

<?php } ?>

<?php if (isset($list[$i]['wr_3']) && strlen($list[$i]['wr_3']) > 0) { ?>

  <?php echo $list[$i]['wr_3'] ?>

<?php } ?>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

모두 도와 주셔서 감사합니다~♡

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

업체를 설득하세요

애초에 왜 리스트에 서 그작업을 시키는지 ..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

^^

댓글을 작성하려면 로그인이 필요합니다.

if 문을 잘못 하셨습니다.

출력해야 하는 $list[$i]['wr_1'] 을 조건에 넣으셔야 합니다.

Copy
<?php if ($list[$i]['wr_1'] ) { ?>
                                <?php echo $list[$i]['wr_1'] ?>
    <?php } ?>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

위의분 처럼

각 레코드에 값이 있는 부분만 검색해서 일일이 비교해서 출력하는게 제일 나을것 같아요

좀더 쉽게 풀면

if($list[$i]['wr_1']!="")

{

 echo $list[$i]['wr_1'];

}else{

 echo "wr_1값없음";

}
 

if($list[$i]['wr_2']!="")

{

 echo $list[$i]['wr_2'];

}else{

 echo "wr_2값없음";

}

if($list[$i]['wr_3']!="")

{

 echo $list[$i]['wr_3'];

}else{

 echo "wr_3값없음";

}

 

각 else 항목은 제외하셔도 됩니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
if($list[$i]['wr_1'])echo $list[$i]['wr_1'];

if($list[$i]['wr_2'])echo $list[$i]['wr_2'];

if($list[$i]['wr_3'])echo $list[$i]['wr_3'];
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
<?php
$list = [
    ['wr_1' => 'a'  , 'wr_2' => false, 'wr_3' => null],
    ['wr_1' => null , 'wr_2' => 'b'  , 'wr_3' => ''  ],
    ['wr_1' => false, 'wr_2' => ''   , 'wr_3' => 'c' ]
];

 

$padlen = 5;


foreach ($list as $row) {
    $out = '';
    foreach ($row as $col => $val) {
        $out .= str_pad($col . ': ', $padlen);
        if (empty($val) == false) {
            $out .= str_pad($val, $padlen);
        } else {
            $out .= str_pad('', $padlen);
        }
    }
    echo $out . PHP_EOL;
}

 

/*
wr_1: a    wr_2:      wr_3:
wr_1:      wr_2: b    wr_3:
wr_1:      wr_2:      wr_3: c

*/
?>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고