Witam, mam taki kod:
<?php
$tab = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
unset($tab[10]);
unset($tab[1]);
//unset($tab[2]);
//$tab[5] = null;
for($x =0 ; $x < count($tab); $x++)
{
echo $tab[$x]," ";
}
echo "</br>ILE: ".count($tab);
//var_dump($tab);
?>
Chcę usunąć dwa elementy w tablicy 15 elementowej. Jeśli użyje unset to count zwróci 13 i pętlą już nie wyświetli dwóch ostatnich elementów, natomiast przy indeksach które usunąłem wyświetli info że Undefined offset. Natomiast jak do danego indeksu przypisze null to count zwróci 15 i pętlą wyświetli wszystkie elementy i warning się nie pojawi, no ale czy pamięć zostanie zwolniona, a i tak musi przejść pętlą przez elementy z null? Bo jeśli załóżmy w milionowej tablicy, pół miliona damy na null to przy wyświetlaniu pętla i tak musi milion razy przejść. Szukam takiego rozwiązania żeby po usunięciu/zwolnieniu dwóch elementów tablica nie miała tych dwóch elementów i wszystkie indeksy od [0] do [n] były wypełnione wartościami, żeby żaden element nie miał null i nie zwracał warninga że Undefined offset.