setsames bei array_pad() aufruf

hallo

ich habe hier ein problem, das ich nicht nachvollziehen kann.
über ein formular befülle ich ein array (setting), die ich an ein speicherungsscript weiterleite. werte ich die übergebenen variablen aus und mache in einer schleife ein echo auf setting[0 bis 24], ergibt sich folgendes bild:

0 -> 20091010151625 1 -> Probe 2 -> Probelauf 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 -> 11 -> 12 -> 13 -> 14 -> 15 -> 16 -> 17 -> 18 -> 0 19 -> 2 20 -> 21 -> 22 -> A 23 -> 24 -> 1 hier sieht man eindeutig, dass in setting[24] eine 1 (eins) steht.
da mein array immer eine feste grösse haben soll (30 werte) habe ich anschliessend mit array_pad() das array auf eine feste grösse gebracht.
[PHP]
$setting = array_pad($setting,30,‚‘);
[/PHP]danach mache ich ein print_r($setting) um zu kontrollieren, was sich getan hat und ich sehe das:

Array ( [0] => 20091010151625 [1] => Probe [2] => Probelauf [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => 0 [19] => 2 [20] => A [21] => 1 [22] => [23] => [24] => [25] => [26] => [27] => [28] => [29] => ) :shock:
eben war in setting[24] noch die eins, nun ist dort nichts mehr, aber setting[21] ist mit dem wert befüllt.

ich stehe total daneben und kann keinen fehler finden. bis zum array_pad ist alles ok, danach ist auf einmal ab setting[20] alles nach oben gerutscht.

nach meiner information sollte array_pad doch eigentlich ein bestehendes array auffüllen und nicht neu arrangieren.

aus dem handbuch:

array_pad() liefert eine Kopie von input , welche auf die von pad_size spezifizierte Größe mit dem Wert pad_value erweitert wurde. Ist der Parameter pad_size positiv, wird das Array rechts erweitert, ist er negativ, dann erfolgt die Erweiterung links. Ist der absolute Wert von pad_size kleiner oder gleich der Länge von input , erfolgt keine Erweiterung. Es können pro Aufruf maximal 1048576 Elemente hinzugefügt werden.

Ich benutze diese Funktion auch und mir ist sowas noch nie aufgefallen.

Ich habe mal versucht dein Vorfall zu rekonstruieren.
Das Array:
[PHP]$test = array(20091010151625,‚Probe‘,‚Probelauf‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,‚‘,0,2,‚‘,‚‘,‚A‘,‚‘,1);
$test2 = array_pad($test,30,‚‘);
[/PHP]Ausgabe $test:

Array ( [0] => 20091010151625 [1] => Probe [2] => Probelauf [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => 0 [19] => 2 [20] => [21] => [22] => A [23] => [24] => 1 )Ausgabe $test2:

Array ( [0] => 20091010151625 [1] => Probe [2] => Probelauf [3] => [4] => [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => 0 [19] => 2 [20] => [21] => [22] => A [23] => [24] => 1 [25] => [26] => [27] => [28] => [29] => ) Leider konnte ich deine Beobachtung nicht nachvollziehen.
Vielleicht ein „Schluckauf“ im System gewesen oder du hast bei der Eingabe des Array’s ein Fehler gemacht.

Mfg