테스트 사이트 - 개발 중인 베타 버전입니다

코드를 줄이고 싶습니다 채택완료

앤플 8년 전 조회 1,777

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개

채택된 답변
+20 포인트
y
8년 전

$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>";

    }

}

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

답변에 대한 댓글 2개

앤플
8년 전
소중한 시간 내주셔서 감사합니다~ 잘되네요..
스팬 스타일 칼라가 안먹히는데 왜 그럴까요?
달콤별
8년 전
<span style='color:red !important;'>

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

플래토
8년 전
span style 이 적용안되는건 아마도<br />
다른 class정의된 내용과 충돌일 확율이 높습니다<br />
<br />
웹브라우저 개발자 도구를 열어서 해당 페이지를 로딩해보세요<br />
스타일에 취소선이 그어져 있을수 있습니다<br />
<br />
코드줄리는건 다양한 방법들이 있긴합니다<br />
<br />
<div class="code-block-wrapper">
<button onclick="copyCodePrism(this)" class="copy-code-btn" style="position: absolute; top: 10px; right: 10px; z-index: 10; background: rgba(0,0,0,0.5); color: #fff; border: 1px solid rgba(255,255,255,0.3); padding: 6px 12px; border-radius: 4px; font-size: 12px; cursor: pointer; transition: all 0.2s; backdrop-filter: blur(10px);" onmouseover="this.style.background='rgba(0,0,0,0.7)'; this.style.transform='translateY(-1px)'" onmouseout="this.style.background='rgba(0,0,0,0.5)'; this.style.transform='translateY(0)'">
<svg style="width: 14px; height: 14px; display: inline-block; vertical-align: middle; margin-right: 4px;" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path>
</svg>
<span class="copy-text">Copy</span>
</button>
<pre class="language-css"><code class="language-css">for ($ii=11,$j=0; $j &lt; 20;$j++,$ii+=7){

if ( $list [$i][&#039;wr_&#039;. $ii])

echo &quot;&lt;span style=&#039;color:red&#039;&gt;{$list[$i][&#039;wr_&#039;. $ii]}&lt;/span&gt;&quot;;

}</code></pre>
</div>
로그인 후 평가할 수 있습니다

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

8년 전

예제입니다. (실제 테스트, 오류 테스트는 해보지 못했습니다.)


</p><p>foreach($list[$i] as $col => $val) { // $list[$i] 의 칼럼들 순회</p><p><span style="white-space:pre">	</span>if (is_numeric($col)) {<span style="white-space:pre">	</span>// 칼럼명에 숫자가 포함되어 있다면 wr_1, wr_2, ... </p><p><span style="white-space:pre">		</span>$num = (int) ($col); // 칼럼명의 숫자부분만 추출</p><p><span style="white-space:pre">		</span>if ($num >= 11 && $num % 7 == 4) { // 7로 나눈 나머지가 4이면</p><p><span style="white-space:pre">			</span>if ($val === 0)</p><p><span style="white-space:pre">				</span>echo "";</p><p><span style="white-space:pre">			</span>else</p><p><span style="white-space:pre">				</span>echo "<span style='color:red'>{$list[$i][$col]}</span>"; <span style="white-space:pre">	</span></p><p><span style="white-space:pre">		</span>} <span style="white-space:pre">			</span></p><p><span style="white-space:pre">	</span>}<span style="white-space:pre">	</span></p><p>}</p><p>

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

답변에 대한 댓글 2개

앤플
8년 전
소중한 시간내주셔서 감사합니다. 잘됩니다.
그런데 스팬스타일 칼라가 안먹혀서 왜 그런지 모르겠습니다.
마르스컴퍼니
8년 전
크롬 브라우저로 해당 부분에서 마우스 우클릭 > 검사를 하면, http://kyunni22.tistory.com/7

어떤 스타일이 적용되고 있는지, 어떤 문제가 있는 것인지 등을

확인하여 수정하시면 됩니다.

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

8년 전

</p><p><?php</p><p>$wr_1  =  100;</p><p>$wr_2  =  2;</p><p>$wr_3  =  3;</p><p>$wr_4  =  4;</p><p>$wr_5  =  5;</p><p>$wr_6  =  6;</p><p>$wr_7  =  7;</p><p>$wr_8  =  8;</p><p>$wr_9  =  9;</p><p>$wr_10 = 1000;</p><p>$wr_11 = 11;</p><p>$wr_12 = 12;</p><p>$wr_13 = 13;</p><p>$wr_14 = 14;</p><p>$wr_15 = 15;</p><p>$wr_16 = 16;</p><p>$wr_17 = 17;</p><p>$wr_18 = 18;</p><p>$wr_19 = 19;</p><p>$wr_20 = 2000;</p><p>
</p><p>for ($i = 1; $i <= 20; $i++) {</p><p>    echo ${'wr_' . $i} . '
';</p><p>}</p><p>?></p><p>


</p><p><?php</p><p>$list = [</p><p>    [</p><p>        'wr_1' => 1,</p><p>        'wr_2' => 0,</p><p>        'wr_3' => 3</p><p>    ],</p><p>    [</p><p>        'wr_1' => 3,</p><p>        'wr_2' => 2,</p><p>        'wr_3' => 0</p><p>    ]</p><p>];</p><p>
</p><p>foreach ($list as $arr) {</p><p>    $arr = array_filter($arr);</p><p>    foreach ($arr as $v) {</p><p>        echo '<span style="color: red;">' . $v . '</span>
';</p><p>    }</p><p>}</p><p>?></p><p>

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

답변에 대한 댓글 1개

앤플
8년 전
소중한 시간 내주셔서 감사합니다~

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

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

로그인