私は配列を持っていて、この式で2$heap = array(9, 9, 9, 8, 9, 9, 8, 9, 9, 9, 9, 9, 8, 8, 9, 7, 9, 8, 8, 9, 9,);
つの子ノードを知ることができるとき、バイナリツリーのように出力したいと思います。foreach を使用して実行しようとしましたが、未定義のオフセット 21 に関するエラーが発生しました。これが foreach です。$heap[$key*2+1]
$heap[$key*2+2]
foreach ($heap as $key => $value) {
echo $value;
if ($key != count($heap)) {
echo $heap[$key*2+1];
echo $heap[$key*2+2];
}
}
私が間違っていることと、これを解決するにはどうすればよいですか?