게시판 리스트 for안에 for를 한번더 사용 코드 좀 봐주세요.
본문
아래처럼 코드를 넣었는데요.
print_r($apercent_30); 값이 제대로 안나오네요.
뭐가 잘못 된건지 아시는분 도움 좀 부탁드립니다.
리스트 코드
for ($i=0; $i<count($list); $i++) {
for ($t = 0; $t < count($awr_body_28); $t++) {
$awr_body_28_c = explode("-",$awr_body_28[$t]);
if($awr_body_28_c[3]){
if($awr_body_28_c[4]){
$aval_28 = $awr_body_28_c[3] - $awr_body_28_c[4];
} else {
$aval_28 = $awr_body_28_c[3] - $awr_body_28_c[2];
}
$afull_28 = $awr_body_28_c[3];
$apercent_28 = $aval_28 / $afull_28 * 100;
$apercent_29 = sprintf("%.0f", $apercent_28);
$apercent_30[$t] = $apercent_29;
//$apercent_30[] = $apercent_29; 이거도안되고
//echo $apercent_29; 여기에 출력하면 아래처럼 정확한 값이 나온다.
// list for 첫번째 754017 정상
// list for 두번째 4540 정상
}
}
// 값이 제대로 안나옵니다.
print_r($apercent_30);
}
[참고1] $apercent_30[$t] 했을때 아래처럼 나옵니다.
list for 첫번째
Array
(
[0] => 75
[1] => 40
[2] => 17
)
list for 두번째
Array
(
[0] => 75
[1] => 40
[2] => 45
[5] => 40
)
[참고2] $apercent_30[] 했을때 아래처럼 나옵니다.
list for 첫번째
Array
(
[0] => 75
[1] => 40
[2] => 17
)
list for 두번째
Array
(
[0] => 75
[1] => 40
[2] => 17
[3] => 45
[4] => 40
)
정확한 값은 아래처럼 나와야합니다.
list for 첫번째
Array
(
[0] => 75
[1] => 40
[2] => 17
)
list for 두번째
Array
(
[0] => 45
[1] => 40
)
답변 1
당연히 지금은 루프가 돌면서
$apercent_30 배열이 추가추가 되니까 한번에 출력되는거 같습니다.
unset으로 배열을 비워줘야 할듯합니다.
for ($i=0; $i<count($list); $i++) {
for ($t = 0; $t < count($awr_body_28); $t++) {
$awr_body_28_c = explode("-",$awr_body_28[$t]);
if($awr_body_28_c[3]){
if($awr_body_28_c[4]){
$aval_28 = $awr_body_28_c[3] - $awr_body_28_c[4];
} else {
$aval_28 = $awr_body_28_c[3] - $awr_body_28_c[2];
}
$afull_28 = $awr_body_28_c[3];
$apercent_28 = $aval_28 / $afull_28 * 100;
$apercent_29 = sprintf("%.0f", $apercent_28);
$apercent_30[$t] = $apercent_29;
//$apercent_30[] = $apercent_29; 이거도안되고
//echo $apercent_29; 여기에 출력하면 아래처럼 정확한 값이 나온다.
// list for 첫번째 754017 정상
// list for 두번째 4540 정상
}
// 값이 제대로 안나옵니다.
print_r2($apercent_30);
unset($apercent_30); // 배열을 초기화한다.
}
}
답변을 작성하시기 전에 로그인 해주세요.