코드를 줄이고 싶습니다
본문
wr_11부터 7간격으로 즉 wr_11, wr_18,~~~ 이런식으로 이걸 쓰고 있는데요..
한 20개 되다보니
이걸 20번 반복하고 있습니다.
좋은 방법이 없을까요?
<? if($list[$i][wr_11] == 0){
echo "";
}else{
echo "<span style='color:red'>{$list[$i][wr_11]}</span>";
}
?>
답변 4
$total = 20;
for ($j=11; $total>0; $j+=7, $total--) {
if (isset($list[$i]['wr_'.$j])) {
echo ($list[$i]['wr_'.$j] === 0) ? "" : "<span style='color:red'>{$list[$i]['wr_'.$j]}</span>";
}
}
<?php
$wr_1 = 100;
$wr_2 = 2;
$wr_3 = 3;
$wr_4 = 4;
$wr_5 = 5;
$wr_6 = 6;
$wr_7 = 7;
$wr_8 = 8;
$wr_9 = 9;
$wr_10 = 1000;
$wr_11 = 11;
$wr_12 = 12;
$wr_13 = 13;
$wr_14 = 14;
$wr_15 = 15;
$wr_16 = 16;
$wr_17 = 17;
$wr_18 = 18;
$wr_19 = 19;
$wr_20 = 2000;
for ($i = 1; $i <= 20; $i++) {
echo ${'wr_' . $i} . '<br />';
}
?>
<?php
$list = [
[
'wr_1' => 1,
'wr_2' => 0,
'wr_3' => 3
],
[
'wr_1' => 3,
'wr_2' => 2,
'wr_3' => 0
]
];
foreach ($list as $arr) {
$arr = array_filter($arr);
foreach ($arr as $v) {
echo '<span style="color: red;">' . $v . '</span><br />';
}
}
?>
예제입니다. (실제 테스트, 오류 테스트는 해보지 못했습니다.)
foreach($list[$i] as $col => $val) { // $list[$i] 의 칼럼들 순회
if (is_numeric($col)) { // 칼럼명에 숫자가 포함되어 있다면 wr_1, wr_2, ...
$num = (int) ($col); // 칼럼명의 숫자부분만 추출
if ($num >= 11 && $num % 7 == 4) { // 7로 나눈 나머지가 4이면
if ($val === 0)
echo "";
else
echo "<span style='color:red'>{$list[$i][$col]}</span>";
}
}
}
span style 이 적용안되는건 아마도
다른 class정의된 내용과 충돌일 확율이 높습니다
웹브라우저 개발자 도구를 열어서 해당 페이지를 로딩해보세요
스타일에 취소선이 그어져 있을수 있습니다
코드줄리는건 다양한 방법들이 있긴합니다
다른 class정의된 내용과 충돌일 확율이 높습니다
웹브라우저 개발자 도구를 열어서 해당 페이지를 로딩해보세요
스타일에 취소선이 그어져 있을수 있습니다
코드줄리는건 다양한 방법들이 있긴합니다
for ($ii=11,$j=0; $j < 20;$j++,$ii+=7){
if ( $list [$i]['wr_'. $ii])
echo "<span style='color:red'>{$list[$i]['wr_'. $ii]}</span>";
}
답변을 작성하시기 전에 로그인 해주세요.