Ticket #853 (new バグ指摘) — at Version 1
SC_FormParam#getSwapArray 歯抜けを正しく処理できない
| Reported by: | Seasoft | Owned by: | somebody |
|---|---|---|---|
| Priority: | 中 | Milestone: | EC-CUBE2.11.2 |
| Component: | その他 | Version: | 2.3.4 |
| Keywords: | Cc: | ||
| 修正済み: | yes |
Description (last modified by Seasoft) (diff)
配列に歯抜けが無い前提となっている。歯抜けがあると、後方のデータが欠落する。
function getSwapArray($arrKey) {
foreach($arrKey as $keyname) {
$arrVal = $this->getValue($keyname);
$max = count($arrVal);
for($i = 0; $i < $max; $i++) {
$arrRet[$i][$keyname] = $arrVal[$i];
}
}
return $arrRet;
}
改訂案
function getSwapArray($arrKey) {
$arrRet = array();
foreach($arrKey as $keyname) {
$arrVal = (array)$this->getValue($keyname);
foreach ($arrVal as $index => $val) {
$arrRet[$index][$keyname] = $val;
}
}
return $arrRet;
}
- 従来は歯抜けの要素に NULL がセットされていたのが、未定義となるため、この事による現実装への影響が読みきれていない。
最新の実装は未確認ですが、備忘録として、一旦 2.5 のマイルストーンを貼らせてください。
Note: See
TracTickets for help on using
tickets.
