Author Topic: [Bug?] Problem mit NULL - Variablen  (Read 754 times)

0 Members and 1 Guest are viewing this topic.

therain

  • Guest
[Bug?] Problem mit NULL - Variablen
on: Sun, 26. October 2008 - 10:13:25
Hallo Gemeinde!

Mir ist kürzlich folgendes Problem untergekommen:

Falls man eine große Menge Datensätze anhand bestimmter Filter auf PHP Ebene sortieren und anschließend einen Teilbereich auswählen möchte, kommt man ggf. zu folgendem Code:

Code: [Select]
        $outputArray = array();
        for($i = $limit; $i < ($limit + 30); $i++) {
            $outputArray] = $debitors[$i];
        }

Falls die Anzahl Datensätze nun teilweise unter 30 liegt, gibt es Arrays mit NULL Wert. In diesem Fall wird das gesamte Array von vLib verworfen, ohne dass ein Fehler angezeigt wird. Ich weiß nicht, ob das so vorgesehen ist - allerdings habe zumindest ich sicher 20 Minuten zum Debuggen benötigt. Als Workaround klappt es mit folgender Lösung:

Code: [Select]
        $outputArray = array();
        for($i = $limit; $i < ($limit + 30); $i++) {
            if (isset($debitors[$i])) $outputArray] = $debitors[$i];
        }

Es grüßt,
tr


Edit:
Achso: Es handelt sich um vLibTemplate in aktueller Version.

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: [Bug?] Problem mit NULL - Variablen
Reply #1 on: Sun, 26. October 2008 - 20:56:27
Hi!

Hört sich ja wie ein interessantes Problem an ...

Kannst Du mal einen Beispiel-Array hier posten, der NULL-Werte enhält? Ich kann mir das nämlich nicht richtig vorstellen ...

Gruß
Claus

therain

  • Guest
Re: [Bug?] Problem mit NULL - Variablen
Reply #2 on: Mon, 27. October 2008 - 10:14:14
Hallo Claus,

Hier das Array:
Code: [Select]
array(30) {
  [0]=>
  array(13) {
    ["id"]=>
    string(4) "1271"
    ["maxDate"]=>
    string(10) "11.06.2008"
    ["maxDateOrg"]=>
    string(10) "2008-06-11"
  }
  [1]=>
  NULL
  [2]=>
  NULL
  [3]=>
  NULL
  [4]=>
  NULL
  [5]=>
  NULL
  [6]=>
  NULL
  [7]=>
  NULL
  [8]=>
  NULL
  [9]=>
  NULL
  [10]=>
  NULL
  [11]=>
  NULL
  [12]=>
  NULL
  [13]=>
  NULL
  [14]=>
  NULL
  [15]=>
  NULL
  [16]=>
  NULL
  [17]=>
  NULL
  [18]=>
  NULL
  [19]=>
  NULL
  [20]=>
  NULL
  [21]=>
  NULL
  [22]=>
  NULL
  [23]=>
  NULL
  [24]=>
  NULL
  [25]=>
  NULL
  [26]=>
  NULL
  [27]=>
  NULL
  [28]=>
  NULL
  [29]=>
  NULL
}

Eine Ausgabe findet keine statt. Im übrigen: Vielen Dank für die ausgezeichnete Arbeit und die sehr gute Templateengine! :-)

Es grüßt,
tr

Offline ClausVB

  • Administrator
  • Hero Member
  • *****
  • Posts: 566
    • Homepage: clausvb.de
Re: [Bug?] Problem mit NULL - Variablen
Reply #3 on: Fri, 31. October 2008 - 10:19:56
Sorry, dann hatte ich Deinen ersten Post falsch verstanden.

Das dieser Array nicht ausgegeben wird, ist völlig klar, denn es ist kein LOOP-Array, wie vLIB und die Doku ihn vorschreibt.

Die Elemente 1 und folgende enthalten keinen assoziativen Index mehr. Das kann also nicht funktionieren.

Einen LOOP-Array richtig zu erstellen, ist Aufgabe des PHP-Programmierers, der den Array generiert.

Gruß
Claus

PS: Du verstößt übrigens gegen die Benutzerbestimmungen. Dein Benutzername muss einen Teil Deines realen Namens enthalten. "TheRain" ist sicherlich kein richtiger Name.