리스트에 값이 있는 내용만 보이게 하려면
본문
list에 wr_1,wr_2,wr_3 을 노출하려합니다. 여기서값이 있는 내용만 노출하려 하는데.
어떻게 코드를 넣어야 할까요?
아래처럼 하면 안됩니다. --
<?php if (isset($list['wr_1']) && $list['wr_1']) { ?>
<?php echo $list[$i]['wr_1'] ?>
<?php } ?>
답변 7
<?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 } ?>
<?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
*/
?>
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'];
위의분 처럼
각 레코드에 값이 있는 부분만 검색해서 일일이 비교해서 출력하는게 제일 나을것 같아요
좀더 쉽게 풀면
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 항목은 제외하셔도 됩니다.
if 문을 잘못 하셨습니다.
출력해야 하는 $list[$i]['wr_1'] 을 조건에 넣으셔야 합니다.
<?php if ($list[$i]['wr_1'] ) { ?>
<?php echo $list[$i]['wr_1'] ?>
<?php } ?>
업체를 설득하세요
애초에 왜 리스트에 서 그작업을 시키는지 ..
모두 도와 주셔서 감사합니다~♡
답변을 작성하시기 전에 로그인 해주세요.