저는 스키 클럽 회원이 장비를 대여 할 수있는 상점을 운영합니다. 첫 번째 단계는 구성원이 반복 선택을 할 수있는 루프입니다 (예 : 그와 그의 가족을 위해). 각 재료 라인에는 바닥에 총합이있는 자체 총계가 있습니다. 마지막 임대가 완료되고 회원이 지불을 완료하기를 원하면 문제가 발생합니다. 마지막으로 임대 한 장비의 라인이 두 배가되고 결과적으로 총계가 거짓입니다. 이것을 해결하는 방법. 내 UNSET 교육과 관련이 있다고 생각합니다. 도와 줘서 고맙다. 여기 내 foreach는 루프의 코드 : 커뮤니티 쉽게 시뮬레이션 할 수 있도록 모든foreach 후에 PHP가 해제 됨
foreach ($price as $key => $value) {
$number[$key] = str_pad($number[$key], 2);
$type[$key] = str_pad($type[$key], 21);
$lenght[$key] = str_pad($lenght[$key], 15);
$boots[$key] = str_pad($boots[$key], 22);
$size[$key] = str_pad($size[$key], 15);
$priceskipers[$key] = ($priceski[$key]) * ($person[$key]);
$pricebootspers[$key] = ($priceboots[$key]) * ($person[$key]);
$total[$key] = array_sum(array($priceskipers[$key], $pricebootspers[$key]));
$supertotal = 0;
$id++;
echo "<pre>Data : " .$date[$key] . " | " . $number[$key] . "/" . $person[$key] . "| " . $type[$key] . " | " . $lenght[$key] . " | " . $boots[$key] . " | " . $size[$key] . "<br> " . $priceskipers[$key] . " + " . $pricebootspers[$key] . " = " . $total[$key] . " for this reservation (id" . $id . ").<hr></pre>";
unset($value);
foreach ($total as $key2 => $value2) {
$supertotal += $total[$key2];
$discount = (($supertotal) * 0.2);
$grandtotal = (($supertotal) - ($discount));
}
}
echo "<pre><b>Total " . $supertotal . " - 20% (discount for online renting) " . $discount . " = " . $grandtotal . ", your net amount.</b></pre>";
효과가 아닌 원인을 수정해야합니다. 복제의 원인을 찾아 수정하십시오. –
'unset ($ value)'의 목적은 무엇입니까? 나는 어쨌든 그 변수를 사용하는 것을 보지 못합니다. '$ value' 변수는'$ price' 배열에있는 실제 값의 복사본 일뿐입니다.'$ price' 배열에는 전혀 영향을 미치지 않습니다. 결론, unset ($ value)은 절대적으로 아무것도하지 않습니다. –
그건 내 기본적인 질문이야? 설정이 의무적인지 여부는 알 수 없습니다. 명령의 유무에 관계없이 결과는 동일합니다. 마지막 행의 이중 계산. –