Sorunuzu doğru anlamak, bu durumda olan:
Önce bu gibi bir dizi var:
$data = array(
1 => 'abcd',
2 => 'efg',
);
var_dump($data);
Sen unset tüm unsurları:
unset($data[1], $data[2]);
var_dump($data);
Ve bu gibi verileri taktığınızda:
$data[] = 'glop';
var_dump($data);
Bu endeks 0 koymak değil, fakat 2 (aslında, endeks 3 koymak oluyor, öyle görünüyor - Son varolan indisi, artı bir) sonunda bu dizi vermek:
array(1) {
[3]=>
string(4) "glop"
}
Bu ne demek ise, bu davranış documentation of array açıklanmıştır:
As mentioned above, if no key is
specified, the maximum of the existing
integer indices is taken, and the new
key will be that maximum value plus 1.
If no integer indices exist yet, the
key will be 0 (zero).
Note that the maximum integer key used
for this need not currently exist in
the array. It need only have existed
in the array at some time since the
last time the array was re-indexed.
(and there is an example)
Bu :-) yardımcı olur Birazdan (else, can you provide an example of code, actual output, and the output you'd expect ?) soruyu anladım umut ve