Kom ihåg mig?
Home Menu

Menu


PHP include, print, echo

 
Ämnesverktyg Visningsalternativ
Oläst 2007-02-19, 17:45 #11
sAe sAe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2006
Inlägg: 51
sAe sAe är inte uppkopplad
Medlem
 
Reg.datum: Dec 2006
Inlägg: 51
Citat:
Ursprungligen postat av hnn
Citat:
Ursprungligen postat av MattiasA
Men detta fungerar väl inte?
echo "hej, $_GET['name']!";


Det funkar utmärkt
Akta dig dock för att göra så i tex. mysql querys. PHP kommer ge dig felmeddelanden ifall du gör det.

Kör antingen mysql_query("UPDATE table SET ID = '$_GET[ID]'); (inga enkelfnuttar runt ID)
eller mysql_query("UPDATE table SET ID = '"$_GET[ID]."' WHERE username = 'blabla'");

Observera att det sista exemplets fnuttar ser ut såhär ' " . $variable . " ' (utan massa mellanrum dvs )
sAe är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-19, 17:55 #12
Sigurds avatar
Sigurd Sigurd är inte uppkopplad
Medlem
 
Reg.datum: Apr 2004
Inlägg: 289
Sigurd Sigurd är inte uppkopplad
Medlem
Sigurds avatar
 
Reg.datum: Apr 2004
Inlägg: 289
Detta hör egentligen inte till tråden men ett litet tips kommer här:

Kod:
$foo = mysql_query( sprintf("INSERT INTO tbl (id, field) VALUES (%d, '%s')", $id, $field) );
Lättare att hålla kolla på vad man matar in...
Sigurd är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-19, 23:56 #13
Filips avatar
Filip Filip är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2003
Inlägg: 935
Filip Filip är inte uppkopplad
Mycket flitig postare
Filips avatar
 
Reg.datum: Jan 2003
Inlägg: 935
Citat:
Originally posted by hnn@Feb 17 2007, 21:42
Du kan dessutom använda följande med echo...
Kod:
echo hej , username ,
istället för
Kod:
echo hej . username .
Det snabbar upp sidan lite också
Varför är kommatecken bättre än punkt? Eller är där någon annan skillnad som jag missar?
Filip är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-20, 01:29 #14
Seattlegrunges avatar
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2003
Inlägg: 979
Seattlegrunge Seattlegrunge är inte uppkopplad
Mycket flitig postare
Seattlegrunges avatar
 
Reg.datum: Nov 2003
Inlägg: 979
Samma här.. kommatecken istället för punkt... inte sett tidigare, men samtidigt, vad är det som gär det lite snabbare? Är det nu så tycker man ju att alla exempel i böcker och på nätet borde köra med kommatecken.

Du Filip... tjusig "broken" avatar du har
Seattlegrunge är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-20, 09:39 #15
Sigurds avatar
Sigurd Sigurd är inte uppkopplad
Medlem
 
Reg.datum: Apr 2004
Inlägg: 289
Sigurd Sigurd är inte uppkopplad
Medlem
Sigurds avatar
 
Reg.datum: Apr 2004
Inlägg: 289
Skillnaden mellan att dela upp strängen (t.ex.) med , istället för . vid användning av "funktionen" echo är:

PHP måste läsa ut och exekvera hela raden innan den kan "retuneras" när man använder . Om man däremot använder, så skriver PHP ut det så fort den är klar med "varje" del och därmed krävs det mindre minne av servern.

Kod:
echo "del1", "del2", $del3, "del4";
Sigurd är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-20, 10:03 #16
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Citat:
Originally posted by MattiasA@Feb 19 2007, 18:06
Men detta fungerar väl inte?
echo "hej, $_GET['name']!"
Nej, det fungerar inte.
Skriv så här istället:
echo "hej, {$_GET['name']}!";
Klamrarna gör att PHP kan komma åt ett värde ur en matris med sträng-index, eller som manualen uttrycker det:
"As in Perl, you can access a value from the array inside double quotes. However, with PHP you'll need to enclose your array between curly braces."
Inga mellanslag mellan klammer och variabel!
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-23, 12:11 #17
gjohansson gjohansson är inte uppkopplad
Medlem
 
Reg.datum: Jan 2007
Inlägg: 81
gjohansson gjohansson är inte uppkopplad
Medlem
 
Reg.datum: Jan 2007
Inlägg: 81
Jag har hört att

Kod:
hej <?=$username?> !!!
är både snabbare(??) och mer dreamweaver/designer -vänligt än:

Kod:
<?echo "hej $username !!!";?>
B)
gjohansson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-23, 12:14 #18
Sigurds avatar
Sigurd Sigurd är inte uppkopplad
Medlem
 
Reg.datum: Apr 2004
Inlägg: 289
Sigurd Sigurd är inte uppkopplad
Medlem
Sigurds avatar
 
Reg.datum: Apr 2004
Inlägg: 289
Citat:
Originally posted by gjohansson@Feb 23 2007, 13:11
Jag har hört att
Kod:
hej ?=username?
är både snabbare(??) och mer dreamweaver/designer -vänligt än:
Kod:
?echo hej username;?
Snabbare än <?php echo $foo; ?> är det inte. Snabbare att skriva möjligtvis.

Det är dessutom inte framtidsvänligt i och med att PHP5 har shorttags OFF som standard.
Sigurd är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-02-28, 17:05 #19
gjohansson gjohansson är inte uppkopplad
Medlem
 
Reg.datum: Jan 2007
Inlägg: 81
gjohansson gjohansson är inte uppkopplad
Medlem
 
Reg.datum: Jan 2007
Inlägg: 81
Citat:
Originally posted by Sigurd@Feb 23 2007, 13:14
Snabbare än <?php echo $foo; ?> är det inte. Snabbare att skriva möjligtvis.

Det är dessutom inte framtidsvänligt i och med att PHP5 har shorttags OFF som standard.
Öh? Jo, det ÄR snabbare, du har givetvis genomfört empiriska tester som bevisar ditt uttalande?

Jag var tvungen att göra detta för jag blev lite nyfiken...

"inline-metoden"
Kod:
<?$username="test";$time_start = microtime(true);
for($i=0;$i<1000000;$i++){?>hej <?=$i?> <?=$username?> !!!<?}
$time_end = microtime(true);
?><?=($time_end - $time_start)?>
"echo-metoden"
Kod:
<?$username="test";$time_start = microtime(true);
for($i=0;$i<1000000;$i++){?><?echo "hej $i $username !!!";?><?}
$time_end = microtime(true);
?><?=($time_end - $time_start)?>
Sen är det bara att köra dessa två kod-snuttar i varsin php-fil och se resultatet.

I alla mina tester så var "inline-metoden" snabbare än "echo-metoden" med ungefär 0.5 sek på min test-server, INGEN gång var förhållandet det omvända. Sen om du vill lägga dit <?php istället för <? - lär ju inte spela någon som helst roll.

Inte för att jag tror att resultatet spelar nån som helst roll för en praktisk php-applikation men som princip kan det vara bra att ha belägg för sina påståenden... :lol:
gjohansson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:06.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017