Ma: Array

Hallo,

ich hätte mal eine frage zu Array ich komme nicht weiter.

// das ist die Klasse
class Test
{
 var $iID = NULL;
 var $sName = NULL;

function Status1()
{
 $myDB =& new DB;
 $aReturn = array();

$sql = "SELECT s_id, s_name FROM im_Test";
 $myDB->query($sql);

while($myDB->next_record())
 {
   $aReturn[] = $myDB->f('s_name');
 }

return $aReturn;
}

function getID() {
 return $this->iID;
}

function getName() {
 return $this->sName;
}

function setName($tmp) {
 $this->sName = $tmp;
}

//

//Status
$oStatus1 = new Test();
$Test = $oStatus1->Status1();
for($j=0; $j<count($Test); $j++)
{
// hier kann ich machen was ich möchte ich bekomme nicht die Namen raus.
}

Erlich ich habe die Arrays nie richtig verstanden ich weiß wann man sie verwenden muss aber ich weiß nicht wie.

Könnt ihr mir helfen?

  1. Hallo,

    ich hätte mal eine frage zu Array ich komme nicht weiter.

    // das ist die Klasse
    class Test
    {
    var $iID = NULL;
    var $sName = NULL;

    Hat keinen Sinn, Variablen initialisieren zu wollen und sie dabei gleich wieder zu deinitialisieren - denn genau das macht das NULL.

    function Status1()
    {
    $myDB =& new DB;
    $aReturn = array();

    $sql = "SELECT s_id, s_name FROM im_Test";
    $myDB->query($sql);

    while($myDB->next_record())
    {
       $aReturn[] = $myDB->f('s_name');
    }

    return $aReturn;
    }

    function getID() {
    return $this->iID;
    }

    function getName() {
    return $this->sName;
    }

    function setName($tmp) {
    $this->sName = $tmp;
    }

    //

    //Status
    $oStatus1 = new Test();
    $Test = $oStatus1->Status1();
    for($j=0; $j<count($Test); $j++)

    Du kannst auch foreach benützen.

    {
    // hier kann ich machen was ich möchte ich bekomme nicht die Namen raus.
    }

    Um dir helfen zu können, musst du uns etwas mehr "Material" liefern - was "machst" du in dieser Schleife eigentlich oder wie sieht die Klasse 'DB' aus?

    Erlich ich habe die Arrays nie richtig verstanden ich weiß wann man sie verwenden muss aber ich weiß nicht wie.

    An dem vorliegenden Quellcode kann ich keinen Fehler in Bezug auf Arrays feststellen.

    mfg
    Rato

    --
    §§§
    Meine Postings basieren lediglich auf mein Wissen und können völliger Blödsinn sein.
    §§§
    1. Hallo,

      // das ist die Klasse
      class Test
      {
      var $iID = NULL;
      var $sName = NULL;
      function Status1()
      {
      $myDB =& new DB;
      $aReturn = array();

      $sql = "SELECT s_id, s_name FROM im_Test";
      $myDB->query($sql);

      while($myDB->next_record())
      {
         $aReturn[] = $myDB->f('s_name');
      }

      return $aReturn;
      }

      function getID() {
      return $this->iID;
      }

      function getName() {
      return $this->sName;
      }

      function setName($tmp) {
      $this->sName = $tmp;
      }
      //Status
      $oStatus1 = new Test();
      $Test = $oStatus1->Status1();
      for($j=0; $j<count($Test); $j++)
      {
      // hier kann ich machen was ich möchte ich bekomme nicht die Namen raus.
      }

      Ich möchte in der Schleife einfach nur die Namen (s_name) ausgeben und wenn ich getName nehme meckert er. Das verstehe ich irgend wie nicht.

      1. Danke, ich habe den fehler gefunden.

        //Status
        $oStatus1 = new Test();
        $Test = $oStatus1->Status1();
        for($j=0; $j<count($Test); $j++)
        {
         echo $Test[$j];
        }

    2. echo $begrüßung;

      var $iID = NULL;
      var $sName = NULL;
      Hat keinen Sinn, Variablen initialisieren zu wollen und sie dabei gleich wieder zu deinitialisieren - denn genau das macht das NULL.

      Diese Aussage ist nicht richtig. Verwechsle bitte nicht den Inhalt NULL einer existierenden Variable mit dem Rückgabewert NULL beim Zugriff auf eine nicht vorhandene Variable.
      Bei auf E_ALL gestelltem error_reporting kann man das schön nachvollziehen:

      var_dump($nicht_da); ergibt neben dem Ergebnis NULL eine "Notice: Undefined variable ..."
      Bei $null = NULL; var_dump($null); ergibt das gleiche, nur ohne Meldung.

      Möglicherweise hat dich das Ergebnis von isset() verwirrt, das gibt bei var_dump(isset($null)) tatsächlich ein false aus. Das finde ich persönlich zwar nicht korrekt, aber das stört auch in den meisten Fällen nicht.

      Obwohl sich also eine Zuweisung von NULL wie eine nicht existierende Variable verhält, ist so eine Zuweisung nicht komplett sinnlos. Zum einen erhält die Variable auf jeden Fall einen definierten Wert, ist also selbst bei aktiviertem register_globals nicht von außen beeinflussbar, und zum anderen sorgt es für das Wegbleiben der Notice-Meldung.

      echo "$verabschiedung $name";