우리가 남이가? - 이게 제정신인지,,유유
본문
사정이 있다보니
쓰기 및 업데이트 스킨에서
wr_1을 200개로 분할해 쓰고 있습니다. 유유,,,
장난이 아니에요,,
input은 여러분이 도움을 주시고 결정적으로 불량학생님 덕분에 해결했습니다. 감사합니다.
이거 앙되었으면 포기했을건데...해결되고 나니 또 사르르 욕심이 생기네요..ㅋ
$wr_1 = "$ext1_00|$ext1_01|$ext1_02|$ext1_03~~ ~~ $ext1_200";
생각해보세요,,유유
이것도 $ex1_filed = explode("|",$write[wr_1]);
$ext1_00 = $ex1_filed[0];
$ext1_01 = $ex1_filed[1];
$ext1_02 = $ex1_filed[2];
...
...
200개 한다그 생각하면 이게 제정신인지...유유...qa찾아서 하다보니 그렇게 되었어요,,
이거(업데이트스킨, 쓰기상단)들도 줄이는 방법이 없을까요?
참고로----------------------------------
input에 00, 01, 02 이런식으로 되어 있습니다.
for($j=0; $j<200; $j++) {
$jNum = $j<10?sprintf("%02d",$j):$j; $jNum2 = $j+1;
답변 2
짧게라......
일단 데이터 입력해서 제대로 되는지 확인을 위해서
<?php
/* 데이터 불러오기 임의 테스트 (테스트 후 이부분삭제) */
for($i=0; $i<200; $i++) {
$iNums = sprintf("%02d",$i);
$ex1_field[$i] ="사과".$iNums;
}
print_r2($ex1_field);
/* 데이터 불러오기 임의 테스트 (테스트 후 이부분삭제) */
//$ex1_field = explode("|",$write['wr_1']); //테스트 종료후 이 값으로 불러오게끔 주석 해제
?>
이렇게 하면 값이 사과00~ 사과199까지 해서 200개의 배열이 생성됩니다.
이제 줄이는 코드
<?php
for($i=0; $i<200; $i++) {
$iNum = sprintf("%02d",$i);
$ex1Num = "ex1_".$iNum; //이부분이 변수만드는 부분
$$ex1Num = $ex1_field[$i]; //가변 변수에 값 집어 넣기
echo($$ex1Num."<br/>"); //값을 제대로 불러 오는지 확인하는 부분
//가변 변수이므로 $$ex1Num 으로 사용한다는 점
//값이 정상이면 echo 문은 주석처리
}
?>
대충 이런식으로 하면 짧은 줄이 되겠네요
마지막으로 변수를 사용은 처음에 올려주신 값과 같습니다.
for구문에서 변수로 이미 저장이 되어 있으므로
$ex1_00 ~ $ex1_199 까지의 변수에 모두 들어갑니다.
각각의 변수 사용은 <?php echo $ex1_00;?> 이런식으로 사용합니다.
!-->!-->
$ex1_filed = explode("|",$write[wr_1]);
$ext1_00 = $ex1_filed[0];
$ext1_01 = $ex1_filed[1];
$ext1_02 = $ex1_filed[2];
==>
for ($i=0;$i < 200;$i++) {
$tmpData = $i;
if ($i < 10) {
$tmpData = "0" . $i;
}
$key = "ext1_" . $tmpData ;
$value = $ex1_filed[$i];
$$key = $value;
}
=============================
맞는지 모르겠네여.