/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
echo - En kommando der skal bruges???
Fra : Kasper Johansen


Dato : 20-07-02 10:46

Hejsa gruppe...
Jeg ville bare lige vide en lille ting. Jeg er efterhånden begyndt at skrive
f.eks.:

?>
<TABLE BORDER=0 WIDTH=125px>
<TR>
<TD>
<?echo $besked;?>
</TD>
</TR>
</TABLE>
<?

Så tænker jeg så, er det hurtigere at bruge echo?? For jeg har det bedst med
den måde jeg bruger nu, men jeg tænker lidt over at det måske tager lidt tid
for PHP at gå ind og ud af PHP-mode?? Eller er den tid ligegyldig??


----
Mvh Kasper
www.levithan.h4f.dk
www.cwain.h4f.dk



 
 
Kasper Johansen (20-07-2002)
Kommentar
Fra : Kasper Johansen


Dato : 20-07-02 10:51

> ?>
> <TABLE BORDER=0 WIDTH=125px>
> <TR>
> <TD>
> <?echo $besked;?>
> </TD>
> </TR>
> </TABLE>
> <?

Skal nok lige siges at det er i stedet for f.eks.:

echo "<TABLE BORDER=0 WIDTH=125px>"; osv.



Jeppe Vesterbæk (20-07-2002)
Kommentar
Fra : Jeppe Vesterbæk


Dato : 20-07-02 11:02

Nu hvor vi er ved "echo", hvad er så egentligt forskellen på "echo" og
"print"?

/Jeppe



Christian Joergensen (20-07-2002)
Kommentar
Fra : Christian Joergensen


Dato : 20-07-02 20:34

On Sat, 20 Jul 2002 12:01:54 +0200, Jeppe Vesterbæk wrote:

> Nu hvor vi er ved "echo", hvad er så egentligt forskellen på "echo" og
> "print"?

echo() kan tage flere parametrer:

echo($foo, $bar);

--
Christian Jørgensen | The difference between theory and practice is that in
http://www.razor.dk | theory there is no difference between theory and
| practice, but in practice there is.

Tonni Aagesen (20-07-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 20-07-02 12:43

Kasper Johansen wrote:
>>?>
>> <TABLE BORDER=0 WIDTH=125px>
>> <TR>
>> <TD>
>> <?echo $besked;?>
>> </TD>
>> </TR>
>> </TABLE>
>><?
>
>
> Skal nok lige siges at det er i stedet for f.eks.:
>
> echo "<TABLE BORDER=0 WIDTH=125px>"; osv.

Det er generelt en dårlig ide at blande funktionalitet og grænseflader
sammen.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Kasper Johansen (20-07-2002)
Kommentar
Fra : Kasper Johansen


Dato : 20-07-02 21:29

Hmm... Du mener at det er dårligt at skrive HTML-kode i en echo kommando
ik'??

Jeg er ikke så 'fin' i mit sprog så bær over med mig :)


----
Mvh Kasper
www.levithan.h4f.dk
www.cwain.h4f.dk



Niels Andersen (20-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 20-07-02 12:12

Kasper Johansen wrote in <3d393156$0$13949$edfadb0f@dspool01.news.tele.dk>:
> ?>
> <TABLE BORDER=0 WIDTH=125px>
> <TR>
> <TD>
> <?echo $besked;?>
> </TD>
> </TR>
> </TABLE>
> <?
>
> Så tænker jeg så, er det hurtigere at bruge echo??

Her er hastigheden ligegyldig. Gør det, der er pænest.

Du får lige et par muligheder mere, som du måske har overset:

echo " <TABLE BORDER=0 WIDTH=125px>
<TR>
<TD>
$besked
</TD>
</TR>
</TABLE>";

echo <<< NILFISK
<TABLE BORDER="0" WIDTH="125">
<TR>
<TD>
$besked
<p>NB: Med denne metode kan man bruge quotes (' og ") som
man vil uden problemer!</p>
</TD>
</TR>
</TABLE>
NILFISK;

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Dennis Hansen (20-07-2002)
Kommentar
Fra : Dennis Hansen


Dato : 20-07-02 12:23

"Kasper Johansen" <Kasper@Johansen.tdcadsl.dk> wrote in message

> Så tænker jeg så, er det hurtigere at bruge echo?? For jeg har det
> bedst med den måde jeg bruger nu, men jeg tænker lidt over at det
> måske tager lidt tid for PHP at gå ind og ud af PHP-mode?? Eller er
> den tid ligegyldig??

Du kan prøve at eksperimeter lidt ved at bruge dette
<?php
function starttid(&$starttime)
{
$starttime = microtime();
}
function stoptid(&$endtime)
{
$endtime = microtime();
}

function tidialt($starttime, $endtime)
{
$parts_of_starttime = explode(' ', $starttime);
$starttime = $parts_of_starttime[0] + $parts_of_starttime[1];
$parts_of_endtime = explode(' ', $endtime);
$endtime = $parts_of_endtime[0] + $parts_of_endtime[1];
$time_taken = $endtime - $starttime;
$time_taken = number_format($time_taken, 3);
return $time_taken;
}

starttid($starttime);
stoptid($endtime);
echo tidialt($starttime, $endtime);
?>

Så kan du prøve at gøre time forskellige ting mellem starttid() og
stoptid() og så se hvad der tager længest tid,
jeg vil tro det er en minimal forskel.
Det der virkelig kan betale sig at optimere er når/hvis du bruger
databaser at du får så få og efektive forespørgelser som muligt.

Mvh
Dennis





Per Christiansen (20-07-2002)
Kommentar
Fra : Per Christiansen


Dato : 20-07-02 15:27

Hej PHP'ere.

Dennis indlæg gav mig inspiration til at spegulere over hvor nøjagtigt vi
egentlig kan måle tiden.
Hvor lang tid tager det at måle tiden osv. - Det hele må være server
afhængigt, og desuden får man forskelligt resultat hver gang. Så husk lige
at måle mange gange og så tage et gennemsnit.

Så kørte jeg Dennis kode og lavede lidt om på den:

<?php
function starttid(&$starttime)
{
$starttime = microtime();
}
function stoptid(&$endtime)
{
$endtime = microtime();
}

function tidialt($starttime, $endtime, $deci)
{
if ($deci=='') $deci=3;
$parts_of_starttime = explode(' ', $starttime);
$starttime = $parts_of_starttime[0] + $parts_of_starttime[1];
$parts_of_endtime = explode(' ', $endtime);
$endtime = $parts_of_endtime[0] + $parts_of_endtime[1];
$time_taken = $endtime - $starttime;
$time_taken = number_format($time_taken, $deci);
return $time_taken;
}

starttid($starttime);
stoptid($endtime);
echo tidialt($starttime, $endtime, 3) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 4) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 5) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 6) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 7) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 8) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 9) . ' sekunder<br>';

echo '<br>';
$starttime = microtime();
$endtime = microtime();
echo tidialt($starttime, $endtime, 3) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 4) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 5) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 6) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 7) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 8) . ' sekunder<br>';
echo tidialt($starttime, $endtime, 9) . ' sekunder<br>';
?>

Det jeg ville undersøge med ovenstående kode er 2 ting:
1. Hvor stor indflydelse har det at $starttime hhv. $endtime dannes i en
funktion?
2. Hvor stor nøjagtighed (antal decimaler) kan jeg tillade mig at vise
tidsmålingerne i?

Resultatet på min server blev:
0.000 sekunder
0.0000 sekunder
0.00005 sekunder
0.000048 sekunder
0.0000479 sekunder
0.00004792 sekunder
0.000047922 sekunder

0.000 sekunder
0.0000 sekunder
0.00001 sekunder
0.000014 sekunder
0.0000141 sekunder
0.00001407 sekunder
0.000014067 sekunder

Svarene på de to spørgsmål er så:
1. Det har stor indflydelse på _små_ tider/opperationer at de to tider
dannes i en funktion.
2. Jeg tror Dennis har tænkt sig om (eller eksperimenteret sig frem til det)
da han satte op at tidsforskellen skulle vises med 3 decimaler - Jeg mener
dog at ved at fjerne funktionerne til at danne start og slut tidsstemplerne
med, kan man godt gå op til 4 decimaler.

Der melder sig nu et nyt spørgsmål:
Er det ovehovedet vigtigt at kende svarene på de to spørgsmål stillet
herover?

Mvh.
Per Christiansen



Thomas Lindgaard (21-07-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 21-07-02 00:27

"Per Christiansen" <oz1kad@oz1kad.dk> wrote in news:ahbrvj$2cm5$1
@news.cybercity.dk:

> Er det ovehovedet vigtigt at kende svarene p† de to sp›rgsm†l stillet
> herover?

Nej - for i praksis vil forskellen på 4. decimal og nedad langt blive
overskygget af overførselstiden.

Med mindre du har et _meget_ stort script eller en _meget_ belastet server,
så mener jeg ikke at man skal bekymre sig ret meget om de bittesmå
tidsmæssige forskelle... skriv din kode som den falder lettest og lav det
så om, hvis det er nødvendigt.

Mvh.
/Thomas

Peter Brodersen (21-07-2002)
Kommentar
Fra : Peter Brodersen


Dato : 21-07-02 04:18

On 20 Jul 2002 23:26:34 GMT, Thomas Lindgaard
<thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

>Med mindre du har et _meget_ stort script eller en _meget_ belastet server,
[..]

.... der vel og mærke tillige ikke laver andet end at echo'e.

Man kan sagtens i isolerede tests se forskelle, nogle gange med store
indbyrdes faktorer, men det skal selvfølgelig stadigvæk ses i hele
sammenhængen.
--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste