私はこの機能を持っています:
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;
}
どこ
$test = array(
array('3'=>'1','5'=>'1'),
array('3'=>'2','5'=>'2'),
array('3'=>'1','5'=>'2'),
array('3'=>'1','5'=>'1'));
と
$revs = array('3'=>'A','5'=>'B');
問題は、実行すると次のエラー (通知) が返されることです。
注意: 未定義のインデックス: 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]]
すると、それが返されなくなることです。
どんな提案でも大歓迎です!
ありがとう!