Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] isset

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] isset

    Hi,
    ich beschäftige mich erst seit wenigen Tagen mit PHP und wollte mal nachfragen, was ich in den folgenden Zeilen falsch mache.

    $D = new StdClass;
    $D->moreFiles = 1;
    ...

    $D->moreFiles = (isset($D['moreFiles']) ? $D['moreFiles'] : 0);
    wieso bricht bei der Zeile das ganze Skript ab ?

    wenn ich jedoch die Initialisierung weglasse, dann funktioniert es einwandfrei (halt mit der 0 initalisiert)

    Vielen Dank schonmal.

  • #2
    Dein Skript ergibt keinen Sinn. Woher soll es denn $D['moreFiles'] geben zumal $D ein Objekt und kein Array ist. PHP ist nicht JavaScript.

    Kommentar


    • #3
      PHP-Code:
      $D['moreFiles'
      setzt voraus, dass $D ein Array ist oder das ArrayAccess Interface implementiert, beides ist nicht der Fall. An anderer Stelle greifst du doch richtig auf das Attribut zu:

      PHP-Code:
      $D->moreFiles 
      Edit: ninja'd

      Kommentar


      • #4
        sorry ich meinte:

        $D->moreFiles = 1;
        ...
        Funktion aus einer bibliothek (D ist ein Argument)
        $Settings->moreFiles = (isset($D['moreFiles']) ? $D['moreFiles'] : 0);

        Es müsste doch so Funktionieren oder nicht?
        es ist in diesem Beispiel ein Array und moreFiles initialisiert

        Kommentar


        • #5
          Ich sehe in deinem Beispiel immer noch kein Array.

          Kommentar


          • #6
            vielen dank

            *gelöst*

            Kommentar


            • #7
              Dann noch fix den Danke!

              Kommentar


              • #8
                Schitel*) btw.


                *) Sch… Titel

                Kommentar


                • #9
                  Noch ein PS:

                  Woher nehmt Ihr alle eigentlich sowas:
                  new StdClass
                  StdClass ist IMHO nicht dafür gedacht, als Container instanziiert zu werden. Vielmehr benutzt PHP das als Krücke, wenn es eine echte Klassendeklaration nicht besitzt.

                  Kommentar

                  Lädt...
                  X