数组PHP中未定义的索引错误(通知)

Ale*_*lex 0 php arrays undefined-index

我有这个功能:

function coin_matrix($test, $revs) {
    $coin = array();

    for ($i = 0; $i < count($test); $i++) {
        foreach ($revs as $j => $rev) {
            foreach ($revs as $k => $rev) {
            if ($j != $k && 
                $test[$i][$j] != null && 
                $test[$i][$k] != null) {

                $coin[$test[$i][$j]][$test[$i][$k]] += 1 / ($some_var - 1);
                }
            }
        }
    }
    return $coin;
}
Run Code Online (Sandbox Code Playgroud)

哪里

$test = array(
array('3'=>'1','5'=>'1'),
array('3'=>'2','5'=>'2'),
array('3'=>'1','5'=>'2'),
array('3'=>'1','5'=>'1'));
Run Code Online (Sandbox Code Playgroud)

$revs = array('3'=>'A','5'=>'B');
Run Code Online (Sandbox Code Playgroud)

问题是当我运行它时,它会返回这些错误(通知):

注意:未定义的索引:第10行的1

注意:未定义的索引:第10行的1

注意:未定义的索引:第10行的2

注意:未定义的索引:第10行的2

注意:未定义的索引:第10行的2

注意:未定义的索引:第10行的1

这是这一行: $coin[$test[$i][$j]][$test[$i][$k]] += 1 / ($some_var - 1);

问题是,最后函数返回正确的矩阵(数组),如果我测试是否$coin[$test[$i][$j]][$test[$i][$k]]存在,那么它不再返回它.

任何建议都非常感谢!

谢谢!

Pow*_*ord 5

$coin[$test[$i][$j]][$test[$i][$k]] += 1 / ($some_var - 1);
Run Code Online (Sandbox Code Playgroud)

该警告是由+=. +=需要在添加元素之前查找元素,并且在$coin第一次访问元素时没有初始化任何元素.