아래 색상으로 표시된 부분
wr_11을 분할필드로 하려고 하는데
wr_11[0]
wr_11[1] 이런식으로 나오게 [$h]를
'wr_'.$k 다음에 붙여야 하는데 어떻게 해야 하는지요...
아래처럼하니 출력이 안됩니다.
$wra_start= 71; $h=0;
for($k=11; $k<=63; $k+=4){ $h++; $hs=sprintf("%02d", $h) ;
$wr11 = 'wr_'.$k[$h]; $wr71 = 'wr_'.$wra_start;
$wr12 = 'wr_'.($k+1); $wr74 = 'wr_'.($wra_start+3);
$wr13 = 'wr_'.($k+2); $wr73 = 'wr_'.($wra_start+2);
$wr14 = 'wr_'.($k+3); $wr72 = 'wr_'.($wra_start+1);
$wra_start+=7;
답변 3개 / 댓글 4개
반복문안에서 다른 값을 처리하는 것에 대한 질문이라 판단하고 답을 드립니다.
$wra_start= 71; $h=0;
for($k=11; $k<=63; $k+=4){ $h++; $hs=sprintf("%02d", $h) ;
$wr11 = 'wr_'.$k[$h]; $wr71 = 'wr_'.$wra_start;
$wr12 = 'wr_'.($k+1); $wr74 = 'wr_'.($wra_start+3);
$wr13 = 'wr_'.($k+2); $wr73 = 'wr_'.($wra_start+2);
$wr14 = 'wr_'.($k+3); $wr72 = 'wr_'.($wra_start+1);
$wra_start+=7;
와 같은처리가 정상적으로 이루어 지려면
wr_11 에도 여러개의 값이 있는것 같네요
유연한 Key값을 소유한 내용이라면 foreach를 사용하면 좋고
고정적인 숫자가 key값이라면 for 안 중첩 for문을 사용하면 됩니다
// 구조를 조금 변경해봅니다.
// $wr 이란 변수를 만들어 배열로 구성하고
$wr = array();
for ($wra_start= 71, $h=1, $k=11; $k <= 63; $wra_start += 4) {
for ($x =0; $x < 4; $x++, $h++, $k++, $wra_start++) {
$hs=sprintf("%02d", $h) ;
$wr[$k] = 'wr_'.$k[$h];
$wr[$wra_start] = 'wr_'.$wra_start;
}
// $wra_start+=7;
}
//확인을 위한 출력
print_r ($wr);
이렇게 해서 한번 확인해보세요
답변에 대한 댓글 2개
중간에 중첩루프에서 처리한건
반복되는 동작중에 부분증가만 하는 작업을 반복하지 않게 하려고 한겁니다.
wr11 ~ wr14 까지의 동작에 해당되는 사항이 동일하게 증가하는 값이라서
x = 0 ~ 3 까지 작동시킨겁니다.
분할필드라면, 구분자로 여러개의 값이 저장되어 있는건가요?
만약 구분자가 | 라면.. 아래와 같이 하면 됩니다.
$wr_11_arr = explode("|",$write['wr_11']);
<input type="url" name="wr_11[]" value="<?=$wr_11_arr[0]?>" "링크<?=$h?>" >
<input type="url" name="wr_11[]" value="<?=$wr_11_arr[1]?>" "링크<?=$h?>" >
<input type="url" name="wr_11[]" value="<?=$wr_11_arr[2]?>" "링크<?=$h?>" >
답변에 대한 댓글 1개
인풋에 이렇게 한개로 해서 자동출력되게 해야 해서요,,
질문이 이해가 안되네요..
하고싶으신 것, 원하는 것을 말씀하시면,
방법을 알려드리는 것이 빠를듯 싶습니다.
답변에 대한 댓글 1개
wr_11
wr_12
wr_13
..
..
이거를 for문으로 출력하는건데요,,,그래서
인풋도 이렇게 되어 있습니다.
<input type="url" name="<?=$wr11?>" value="<?=$write[$wr11]?>" "링크<?=$h?>" >
그런데
wr_11을 분할 필드로 하려고 하는거라
위의 for문에서
'wr_'.$k;
$k뒤에 [$h]가 붙게 만들어야
인풋에서
<input type="url" name="wr_11[]" value="wr_11[0]" "링크<?=$h?>" >
<input type="url" name="wr_11[]" value="wr_11[1]" "링크<?=$h?>" >
<input type="url" name="wr_11[]" value="wr_11[2]" "링크<?=$h?>" >
이런 식으로 출력되어서요..
답변을 작성하려면 로그인이 필요합니다.
<input type="url" pattern="https?://.+" title="http:// 또는 https://" name="<?=$wr11?>[<?=$h?>]" class='ed urlk' id="<?=$wr11?>" onchange="equalVal(<?=$wr71?>, this.value);" value="<?=$write[$wr11]?>" size="45" itemname="상품링크<?=$h?>" >
11~70까지는 가로 1행에 4개 핃드
71~ 175까지는 가로 1행에 7개 필드 이래서 wra_start이런거 같습니다.
총 15개 행이구요,,,
답변을 참고해서 삽질해보겠습니다. 늘 감사합니다.
만들어주신 코드는 4개 행만 나오고
wr_11[0]아니고 wr_[0] 이렇게만 출력됩니다.
$x =0; $x < 4; $x++, 여기서 x는 왜있는건지 알 수 잇을까요?