PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   echo, print was ist der unterschied (https://www.php-resource.de/forum/php-developer-forum/12616-echo-print-was-ist-der-unterschied.html)

Flashfactor 29-10-2002 23:09

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.

beebob 30-10-2002 00:06

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 :huep:

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

goth 30-10-2002 00:42

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 ... !

beebob 30-10-2002 00:47

hi!
ich hab nur schonmal die nächste frage beantwortet :D

goth 30-10-2002 05:22

Genau ... und jetzt erklären wir noch die Vorteile der <?=$variable?> Syntax ... :dontknow:

slarti 30-10-2002 10:06

...die da wären?
ich hab mir mal sagen lassen, daß das ständige switchen zwischen html und php
nich so optimal sein soll...

Abraxax 30-10-2002 10:10

Zitat:

Original geschrieben von goth
Genau ... und jetzt erklären wir noch die Vorteile der <?=$variable?> Syntax ... :dontknow:
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 .. :D

Abraxax 30-10-2002 11:25

Zitat:

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... :D

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. :D

beebob 30-10-2002 23:49

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 ... :D

goth 31-10-2002 13:18

Hallo, ... ich bin goth ... und ich bin php'ler ...

slarti 31-10-2002 13:53

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.

slarti 31-10-2002 16:31

...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);}
 } 


beebob 02-11-2002 21:37

Zitat:

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

...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 ...

slarti 04-11-2002 15:46

...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.

slarti 06-11-2002 12:05

@beebob:
...wo bleibt mein kasten?


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:54 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG