phpbar.de logo

Mailinglisten-Archive

[php] foreach in Klasse meldet invalide Argumente

[php] foreach in Klasse meldet invalide Argumente

Lars Heuer php_(at)_phpcenter.de
Fri, 31 May 2002 18:52:04 +0200


Hallo Peter,

> Die keys und values innerhalb der foreach-Schleife werden auch
> geechot, also es gibt sie. Das ist ja das für mich unverständliche.

> Muss irgendwas mit $this zu tun haben...

Normalerweise klappt aber $this->Variablenname auch bei foreach.

Seltsam.
Wie greifst Du denn nachher auf das Array zu? Mit $db->Record['name']
oder mit $db->f('name') ? Wenn Du das mit ->f machst, würde es ggf.
Sinn machen, erst bei der Funktion f das stripslahes durchzuführen.
Ggf. macht dies generell mehr Sinn, weil Du ansonsten ggf. das Array
zweimal durchläufst. Einmal, wenn Du Dein Result in dem Array
speicherst und einmal, wenn Du die Werte abrufst.
Ich würde mir an Deiner Stelle so etwas schreiben:

<?php
class petersDB extends DB_Sql {


  function f_strip($name) {
    return stripslashes($this->Record[$name]);
  }

  function Record($name != '') {
    if (isset($name)) {
      $res = $this->f_strip($name);
    }
    else {
      if (is_array($this->Record)) {
        $res = array();
        foreach($this->Record as $k => $v) {
          $res[$k] = $this->f_strip($v);
        }
      }
    }
    return $res;
  }
}
?>

Gruß,
Lars

-- 
quiXS!          | http://www.quixs.de
utopiXS!        | http://www.utopixs.de    | digitale Postkarten
phpSlash        | http://www.phpslash.org  | das bessere Weblog


php::bar PHP Wiki   -   Listenarchive