소스 줄이는 방법이 없을까요?
본문
기본값을 0으로 하는 건데요..
13부터 5개 이어지고 2개 띄우고 다시 5개 이어지고 2개 띄우고 이런식인데요..
고수님들에게는 뭔가 꼭 방법이 잇을꺼같아 질문드려요~
이정도면 그냥 쓰겟는데 더 많아서요,,,
if ($write[wr_13] == "") $write[wr_13] = "0";
if ($write[wr_14] == "") $write[wr_14] = "0";
if ($write[wr_15] == "") $write[wr_15] = "0";
if ($write[wr_16] == "") $write[wr_16] = "0";
if ($write[wr_17] == "") $write[wr_17] = "0";
if ($write[wr_20] == "") $write[wr_20] = "0";
if ($write[wr_21] == "") $write[wr_21] = "0";
if ($write[wr_22] == "") $write[wr_22] = "0";
if ($write[wr_23] == "") $write[wr_23] = "0";
if ($write[wr_24] == "") $write[wr_24] = "0";
if ($write[wr_27] == "") $write[wr_27] = "0";
if ($write[wr_28] == "") $write[wr_28] = "0";
if ($write[wr_29] == "") $write[wr_29] = "0";
if ($write[wr_30] == "") $write[wr_30] = "0";
if ($write[wr_31] == "") $write[wr_31] = "0";
답변 5
요런식
<?php
for($i=0; $i < 5; $i++) {
$tmp1 = $i + 13;
$tmp2 = $i + 20;
$tmp3 = $i + 27;
if ($write[$tmp1] == "") $write[$tmp1] = "0";
if ($write[$tmp2] == "") $write[$tmp2] = "0";
if ($write[$tmp3] == "") $write[$tmp3] = "0";
}
?>
조금 더 줄이면 요런식
<?php
$tmp_array = array(13, 20, 27);
foreach($tmp_array as $value) {
for($i=0; $i < 5; $i++) {
$tmp = $i + $value;
if ($write[$tmp] == "") $write[$tmp] = "0";
}
}
?>
for문을 쓰면 몇줄 안됩니다.
for ($i=13;$i<=31;$i++)
{
if ($write["wr_".$i] == "") $write["wr_".$i] = "0";
}
참고하셔요 ^^
!-->참고로
<?php
echo number_format($write['wr_1']);
?>
이렇게 number_format로 출력시에는 값이 없으면 자동으로 0 찍힙니다.
보여주는 용도면 굳이 0값을 줄 필요는 없을것 같습니다.
!-->
for ($i=13;$i<=31;$i++) {
if($i == 18 || $i == 19)
else
if ($write["wr_".$i] == "") $write["wr_".$i] = "0";
}
이렇게 2줄만 더 추가하면되지 않을까요?
아~ 많은 분들이 답을 올려 주셨네요.
그런데 전부 다르군요 ㅎㅎㅎ
버리기는 그렇고 이럴 수도 있다 해서 올립니다 ㅎㅎ
for($i = 13;$i <= 31;$i++){
for($j = 1;$j <= 5;$j++){
if($write["wr_".$i] == "") $write["wr_".$i] = "0";
$i += 1;
}
$i += 1;
}