echo, print was ist der unterschied

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

  • echo, print was ist der unterschied

    mich würde interresiern was der unterschied zwischen echo und print ist

    Solche Punkte zum beispiel:

    Speed, Ausgabemuster, usw.

    was euch halt dazu einfählt.
    mfg Flashfactor

    Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

  • #2
    hi!
    printf( "%s - %d", $aString, $anInteger ) z.B. behandelt zeichenketten direkter, während echo quasi 'dynamisch' die typen der zeichenketten erkennt. das sieht man z.b. daran, dass wenn man versucht, ein array per echo auszugeben,

    PHP-Code:
    $arr[0] = "poop";
    $arr[1] = "poop1";

    echo 
    $arr
    dass einfach nur "Array()" ausgegeben wird.

    was nun schneller ist, kann man nicht so einfach sagen.
    während ein echo auf einen typreinen string schneller ist, als die printf() variante ist er umso langsamer, wenn man verschiedene typen miteinander vermischt.

    für den hausgebrauch sollte bei php ein echo allemal reichen.
    heutzutage nimmt sich das nicht mehr so viel.

    bei php sollte man auf ganz andere dinge in bezug auf performance achten, als solche details. so sind die meisten performanceprobleme konzeptioneller natur, da man sich sehr schnell verzetteln kann, wenn man nicht ausreichend geplant hat.

    hoffe, das war einigermassen korrekt, was ich da abgelassen habe ...

    gruss,
    beebob

    ps: und wer nur einfach cool sein will, der nimmt immer printf()

    Kommentar


    • #3
      print ... beebob ... nicht printf ... aber trotzdem schön Dich zu sehen ...

      print() kann nur einen Parameter ausgeben ... echo() kann mehrere Parameter ausgeben.

      print kann in einer Funktionsvariablen verwendet werden ... echo nicht.

      Beispiel:

      $variable="print";
      $variable("Hallo Welt!");

      Das ist ein sehr simples Beispiel ... aber glaub' mir ... es macht manchmal Sinn ... !
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        hi!
        ich hab nur schonmal die nächste frage beantwortet

        Kommentar


        • #5
          Genau ... und jetzt erklären wir noch die Vorteile der <?=$variable?> Syntax ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            ...die da wären?
            ich hab mir mal sagen lassen, daß das ständige switchen zwischen html und php
            nich so optimal sein soll...
            eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

            Kommentar


            • #7
              Original geschrieben von goth
              Genau ... und jetzt erklären wir noch die Vorteile der <?=$variable?> Syntax ...
              das ist nur eine schnellere schreibweise von <?php echo $variable; ?>

              leide musste ich feststellen, dass nicht alle server diese form der schreibweise unterstützen. liegt wohl auch an der PHP-version.

              nimm lieber die längere schreibweise. die paar zeichen werden dich schon nicht umbringen ..
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Original geschrieben von slarti
                ...die da wären?
                ich hab mir mal sagen lassen, daß das ständige switchen zwischen html und php
                nich so optimal sein soll...
                das kann ich nicht besätigen...

                es ist nur evtl. nicht mehr so übersichtlich, wenn man html und php mischt. aber wenn du viel starre sachen mit echo() ausgibst, ist der code auch nicht mehr übersichtlich.

                php ist das zumindest egal, wie es geschrieben ist. hauptsache richtig.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  so, nachdem wir die <?=$frage?> behandelt haben, geht's nun weiter in unserer kleinen, aber feinen php-selbsthilfegruppe.

                  ich möchte, weil wir nun schon so viel über php selber wissen, an dieser stelle eine kleine aufgabe stellen, bei der eure programmierkünste gefragt sind. wer sie als erster korrekt löst, erhält von mir einen kasten früh-kölsch (versprochen). ausgenommen vom preis sind (studierende) informatiker und theologen.

                  jetzt zur aufgabe ...

                  nehmen wir an, php hätte nicht den ganzen operatoren schnickschnack wie '<,>,!,' usw. und so nen unnötigen krempel wie for-schleifen oder switch-anweisungen. noch nicht einmal ein direkter vergleich von variablen wäre erlaubt!

                  ]- programmiere mit einem minimum an sprachbefehlen die funktion sub(), welche zudem die vollständige rechenbarkeit von x - y sicherstellt.

                  ausschliesslich folgendes ist erlaubt:

                  1) variablen dürfen eine zahl enthalten.
                  2) variablen dürfen mit = 0 initialisiert werden.
                  3) variablen dürfen auf == 0 überprüft werden.
                  4) zahlen dürfen entweder mit $var = $var + 1 oder $var = $var - 1 neue werte erhalten.
                  5) if ... else ... darf verwendet werden (allerdings kein elseif oder alleinstehendes if).
                  6) es steht die while-schleife zur verfügung.
                  7) der code steht in einer funktion und liefert per return ein ergebnis zurück.
                  8) jeder befehl erhält eine eigene zeile.

                  bei gleichen lösungen gewinnt der code mit den wenigsten zeilen.

                  also, nicht fragen, coden!
                  und wer doch fragt, wer sowas überhaupt braucht? - der, der früh mag!

                  gruss,
                  beebob

                  ps: ich programmier jetzt seit fast 3 jahren php und hab schon viel scheisse gesehen, aber das da oben, krass alder ...

                  Kommentar


                  • #10
                    Hallo, ... ich bin goth ... und ich bin php'ler ...
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      also, für ganze Zahlen sieht dat so aus:
                      PHP-Code:
                      function sub($x,$y) {
                       if(
                      $y==0)return $x;
                       else {
                       
                      $x=$x-1;
                       
                      $y=$y-1;
                       
                      sub($x,$y);}
                       } 
                      ...würde nur probleme machen, wenn die zweite zahl negativ ist, aber dann wär es ja auch ne addition.
                      eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                      Kommentar


                      • #12
                        ...sorry, war noch nen fehler drin
                        PHP-Code:
                        function sub($x,$y) {
                         if(
                        $y==0)return $x;
                         else {
                         
                        $x=$x-1;
                         
                        $y=$y-1;
                         return 
                        sub($x,$y);}
                         } 
                        Zuletzt geändert von slarti; 31.10.2002, 15:36.
                        eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                        Kommentar


                        • #13
                          programmiere mit einem minimum an sprachbefehlen die funktion sub(), welche zudem die vollständige rechenbarkeit von x - y sicherstellt
                          ...würde nur probleme machen, wenn die zweite zahl negativ ist, aber dann wär es ja auch ne addition.
                          ... da fehlt leider noch was ...

                          Kommentar


                          • #14
                            ...du wirst lachen, aber funktionieren tut es. nur das er halt bei nem negativen y (fast) den ganzen
                            zahlenraum durchgeht, was bei 4-byte-integern durchaus ne weile dauern könnte (falls der speicher reicht).
                            aber ich probier es trotzdem nochmal:

                            PHP-Code:
                            function sub($x,$y) {
                            if(
                            $y){
                              
                            $x=$x-1;
                              
                            $y=$y-1;
                              return 
                            sub($x,$y);}
                            else{
                             
                            $z=0;
                             while(
                            $z==0){
                                if(
                            $y==0)$z=$z+1;
                                else{
                                  
                            $x=$x+1;
                                  
                            $y=$y+1;}}
                            return 
                            $x;}} 

                            ...der sollte dann immer funzen.
                            Zuletzt geändert von slarti; 06.11.2002, 11:03.
                            eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                            Kommentar


                            • #15
                              @beebob:
                              ...wo bleibt mein kasten?
                              eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                              Kommentar

                              Lädt...
                              X