id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	modified_flg
853	SC_FormParam#getSwapArray 歯抜けを正しく処理できない	Seasoft	Seasoft	"配列に歯抜けが無い前提となっている。歯抜けがあると、後方のデータが欠落する。

{{{
    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 がセットされていたのが、未定義となるため、この事による現実装への影響が読みきれていない。

r20943
r20949
r21134"	バグ指摘	closed	中	EC-CUBE2.11.2	その他	2.3.4	修正済			1
