phpbar.de logo

Mailinglisten-Archive

[php] Array-Inhalte bei filter_var_array

[php] Array-Inhalte bei filter_var_array

Martin Spuetz mas at spuetz.ath.cx
Die Mai 15 09:42:31 CEST 2007


Sebastian Mendel wrote:
>> passiert das auch wenn du an die Kopie oder das Original des Arrays erst
>> noch ein Element anfügst und dann durch den Filter jagst?
> 
> weil, so weit ich weiß:
> 
> PHP den Inhalt der Variablen ja erst kopiert wenn wirklich etwas daran
> geändert wird, also wenn $a = $b dann zeigt $a und $b auf den selben
> Speicherbereich, erst wenn an $a oder $b etwas geändert werden soll kopiert
> PHP auch den Inhalt der Variable tatsächlich.

copy-on-write heißt das glaub ich. Ja, passiert auch dann:

$data1 = $data;
$data1[] = "blub";

array(2) {
  ["test"]=>
  array(1) {
    [0]=>
    string(3) "asf"
  }
  [0]=>
  string(4) "blub"
}

> Anscheinend gibt es da aber bei dir Probleme wenn Arrays und der Filter ins
> Spiel kommen.

Jepp, so scheint das zu sein.

> Irgendeinen Bytecache hast du aber nicht laufen?

Nee, hab ich nicht. Hab das jetzt mal mit 5.2.2 und 5.2.1 getestet.
Nachher mal die CVS-Version und dann teste ich das nochmal auf einer
anderen Maschine (mit ./configure --disable-all).

Hab bei 5.2.2 auch das Phänomen das der SoapServer immer ein
BadRequest liefert, dazu gibt es aber schon einen Bugreport.

Gruss,
Martin

php::bar PHP Wiki   -   Listenarchive