Ankündigung

Einklappen
Keine Ankündigung bisher.

Class in PhP

Einklappen

Neue Werbung 2019

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

  • Class in PhP

    class tree_node
    {
    var $parent;
    var $child;
    var $module;
    var $colspan;
    var $rowspan;
    var $name;

    function tree_node($a, $b, $c, $d, $e, $f){
    $this->parent=$a;
    $this->child=$b;
    $this->module=$c;
    $this->colspan=$d;
    $this->rowspan=$e;
    $this->name=$f;
    }}

    include "treeclass.php";

    $Baum = array(); //habs auch mit $Baum = array(NULL); versucht
    $test= new tree_node($a, $b);
    $a = "eintrag";
    $test->parent=$a;
    $b = "resultat";
    $test->child=$b;

    $Baum["1"] = $test;
    print_r($Baum);

    Kann mir jemand vielleicht sagen weshalb diese Zuweisung nicht funktioniert und warum er meint es fehlen ihm argumente bei
    $Baum = array(); ?
    Es ist doch möglich in einem array classenelemente zu haben oder nicht?

    thx

  • #2
    Also erstmal solltest du, wenn du eine Funktion ausführst ($test = new tree_node($a, $b) ) alle nötigen Variablen mitübergeben. Außerdem machst du irgendwelches komisches Zeug, indem du erst nach aufrufen der Funktion nocht die Variablen deklarierst.
    Also irgendwie sieht es für mich so aus, als ob du keine Ahnung hast, wie man Funktionen benutzt ...


    MFG Connar

    Kommentar


    • #3
      Wie Connar bereits sagte, fehlen noch zu übergebende Werte in die Funktion.

      Korrekt so:

      $test= new tree_node($a, $b, $c, $d, $e, $f);

      Nummer 2:

      $BAUM["1"] = $test;
      print_r($BAUM);

      Was willste damit erreichen?

      Wäre was korrektes ... Aber hab ja keine Ahnung was de vorhast.

      Code:
      class tree_node
      {
      	var $tree;
      
      	function node($a, $b, $c, $d, $e, $f)
      	{
      		$this->tree["parent"] = $a;
      		$this->tree["child"] = $b;
      		$this->tree["module"] = $c;
      		$this->tree["colspan"] = $d;
      		$this->tree["rowspan"] = $e;
      		$this->tree["name"] = $f;
      	}
      }
      
      include "treeclass.php";
      
      $test = new tree_node;
      $test->node("wert1", "wert2", "wert3", "wert4", "wert5", "wert6");
      
      print_r($test->tree);

      Empfehlung vom Küchenchef:
      http://de2.php.net/manual/de/language.functions.php
      http://de2.php.net/manual/de/language.oop.php
      http://www.donvelopment.org

      Kommentar


      • #4
        Also du kannst die Klasse ja ruhig so ausführen, mit der Funktion drin, die den selben Name hat, aber dann solltest du es auch so machen:

        Code:
        $test = new tree_node("wert1", "wert2", "wert3", "wert4", "wert5", "wert6");

        MFG Connar

        Kommentar


        • #5
          also ich wollte einfach mal ausprobieren wie man arrays macht mit classelementen.ihr habt recht ich bin sehr unerfahren was programmieren anbelangt und versuch mir das grad beizubringen.ich danke vielmals für die hilfe auch wenn die frage vielleicht extrem noob war

          Kommentar


          • #6
            achja mit
            $BAUM["1"] = $test;
            print_r($BAUM);

            wollte ich einfach eine überprüfung haben um zu sehn ob in dem array auch die erwünschten werte drin stehen

            ich dachte damit würde ich dem element test des arrays den schlüssel 1 zuweisen?!

            Kommentar


            • #7
              include "treeclass.php";

              $Baum = array($a, $b, $c, $d, $e, $f);
              $test= new tree_node("miranda", "asdf");
              $BAUM["1"] = $test;
              print_r($Baum);

              hab das jetzt gemacht, aber er sagt mir noch immer das argumente fehlen würden bei $Baum = array($a, $b, $c, $d, $e, $f);

              ??

              Kommentar


              • #8
                äh ich mein so :

                include "treeclass.php";
                $Baum = array();
                $test= new tree_node("miranda", "asdf");
                $BAUM["1"] = $test;
                print_r($Baum);

                Kommentar


                • #9
                  ich hab rausgefunden dass es wohl nicht möglich ist die anderen argumente einfach auszulassen:

                  include "treeclass.php";

                  $Baum = array();
                  $test= new tree_node("miranda", "asdf","asdf","kuma","asdf","asdff");
                  $BAUM["1"] = $test;
                  print_r($Baum);

                  gibt keine fehler mehr aus, aber die ausgabe ist "Array()",warum schreibt er mir das nicht in mein array rein?

                  Kommentar


                  • #10
                    ja, du musst ja auch 6 Werte übergeben und net nur 2

                    Code:
                    include "treeclass.php";
                    $baum = array();
                    $test = new tree_node("miranda", "asdf", "wert3", "wert4", "wert5", "wert6");

                    MFG Connar

                    Kommentar


                    • #11
                      hab ich auch rausgefunden s.o., aber wieso gibt er mir diese werte nicht aus wenn ich eine ausgabe des arrays anfordere?

                      Kommentar


                      • #12
                        Welche Werte?
                        Wenn ich Deinen Code ausführen lasse, liefert print_r
                        Code:
                        Array
                        (
                            [1] => tree_node Object
                                (
                                    [parent] => eintrag
                                    [child] => resultat
                                    [module] => 
                                    [colspan] => 
                                    [rowspan] => 
                                    [name] => 
                                )
                        
                        )
                        Was ist daran jetzt unerwartet? Was hast Du erwartet?

                        Kommentar


                        • #13
                          deine ausgabe hätte ich erwartet, aber ich kriege nur die ausgabe Array()..

                          Kommentar


                          • #14
                            bist du sicher dass du das gleiche wie ich hast :

                            include "treeclass.php";

                            $Baum = array();
                            $test= new tree_node("miranda", "asdf","asdf","kuma","asdf","asdff");
                            $BAUM["1"] = $test;
                            print_r($Baum);

                            ?

                            also von der art der übergaben an das array. ist ja jetzt egal was drin steht

                            Kommentar


                            • #15
                              Nein, ich habe den Code aus dem ersten Beitrag genommen.

                              Kommentar

                              Lädt...
                              X