/ 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
Problem med tabel i PHP
Fra : Jeppe Christensen


Dato : 20-04-05 18:16

Jeg har et problem med at når jeg vil lave style på en tabel
f.eks.:

echo "<table width="800px" style="border: 1px solid #000000;">";

viser den dette: Parse error: parse error, unexpected T_LNUMBER,
expecting ',' or ';' in c:\programmer\easyphp1-7\www\forside.php
on line 10

håber i kan hjælpe....

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Søren Reinke (20-04-2005)
Kommentar
Fra : Søren Reinke


Dato : 20-04-05 18:25

Jeppe Christensen wrote:
> Jeg har et problem med at når jeg vil lave style på en tabel
> f.eks.:
>
> echo "<table width="800px" style="border: 1px solid #000000;">";
>
> viser den dette: Parse error: parse error, unexpected T_LNUMBER,
> expecting ',' or ';' in c:\programmer\easyphp1-7\www\forside.php
> on line 10
>
> håber i kan hjælpe....
>

Det er fordi du har "'ere inden i "'ere og dette fører til at php
fortolkeren tror din streng er færdig efter #2 "'er og så vil fortolke
'800px' som noget PHP kode hvilket det jo ikke er.

Prøv med:
echo '<table width="800px" style="border: 1px solid #000000;">';

Istedet for :)

--
Søren Reinke
www.Xray-Mag.com/ - dit gratis dykkermagasin på nettet

Carsten Pedersen (20-04-2005)
Kommentar
Fra : Carsten Pedersen


Dato : 20-04-05 19:21


"Søren Reinke" <soren@fjern.reinke.dk> skrev i en meddelelse
news:42669057$0$79452$14726298@news.sunsite.dk...
Jeppe Christensen wrote:
>> Jeg har et problem med at når jeg vil lave style på en tabel
>> f.eks.:
>>
>> echo "<table width="800px" style="border: 1px solid #000000;">";
>>
>> viser den dette: Parse error: parse error, unexpected T_LNUMBER,
>> expecting ',' or ';' in c:\programmer\easyphp1-7\www\forside.php
>> on line 10
>>
>> håber i kan hjælpe....
>>
>
>Det er fordi du har "'ere inden i "'ere og dette fører til at php
>fortolkeren tror din streng er færdig efter #2 "'er og så vil fortolke
>'800px' som noget PHP kode hvilket det jo ikke er.
>
>Prøv med:
>echo '<table width="800px" style="border: 1px solid #000000;">';

Du kan også escape (\) anførselstegnene inde i strengen:

echo "<table width=\"800px\" style=\"border: 1px solid #000000;\">";


Mvh


C@rsten




Søren Reinke (20-04-2005)
Kommentar
Fra : Søren Reinke


Dato : 20-04-05 19:37

>>
>>Prøv med:
>>echo '<table width="800px" style="border: 1px solid #000000;">';
>
>
> Du kan også escape (\) anførselstegnene inde i strengen:
>
> echo "<table width=\"800px\" style=\"border: 1px solid #000000;\">";
>
>

Er der en performance mæssig forskel på om man bruger den ene eller den
anden løsning ?

--
Søren Reinke
www.Xray-Mag.com/ - dit gratis dykkermagasin på nettet

zigma.dk (20-04-2005)
Kommentar
Fra : zigma.dk


Dato : 20-04-05 20:55

Søren Reinke wrote in dk.edb.internet.webdesign.serverside.php:
> Er der en performance mæssig forskel på om man bruger den ene eller
> den anden løsning ?

Det eneste jeg har oplevet er at en variable indenfor ' opfører sig
mærkeligt. Måske min opsætning på serveren, men det har gjort at jeg
altid benytter escape-løsningen.

Eks. jeg skrev echo 'Hej $navn'; og outputtet blev Hej $navn - altså
variblen og ikke variablens værdi, men det er nok bare min egen fejl på
én eller anden måde=)



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jacob Atzen (20-04-2005)
Kommentar
Fra : Jacob Atzen


Dato : 20-04-05 21:06

On 2005-04-20, zigma.dk <zigma@zigma.dk> wrote:
> Det eneste jeg har oplevet er at en variable indenfor ' opfører sig
> mærkeligt. Måske min opsætning på serveren, men det har gjort at jeg
> altid benytter escape-løsningen.

Nej, de opfører sig som forventet.

> Eks. jeg skrev echo 'Hej $navn'; og outputtet blev Hej $navn - altså
> variblen og ikke variablens værdi, men det er nok bare min egen fejl på
> én eller anden måde=)

Det er det forventede. Med plinger evalueres indholdet ikke, med
gåseøjne bliver det evalueret. Der er således formentlig en meget lille
performance mæssig fordel i kun at bruge gåseøjne, når det er
nødvendigt. Den er dog så lille, at det ikke bør være afgørende for,
hvilken af de to konstruktioner man benytter sig af.

Manualen har en mere uddybende forklaring:

<http://dk.php.net/manual/en/language.types.string.php>

--
Med venlig hilsen
- Jacob Atzen

Søren Reinke (20-04-2005)
Kommentar
Fra : Søren Reinke


Dato : 20-04-05 21:24

Jacob Atzen wrote:

>
> Det er det forventede. Med plinger evalueres indholdet ikke, med
> gåseøjne bliver det evalueret. Der er således formentlig en meget lille
> performance mæssig fordel i kun at bruge gåseøjne, når det er
> nødvendigt. Den er dog så lille, at det ikke bør være afgørende for,
> hvilken af de to konstruktioner man benytter sig af.
>
> Manualen har en mere uddybende forklaring:
>
> <http://dk.php.net/manual/en/language.types.string.php>
>
Tak for uddybningen, jeg graver mig ned i den link, godnat læsning er
altid godt :)

--
Søren Reinke
www.Xray-Mag.com/ - dit gratis dykkermagasin på nettet

Kristian Thy (20-04-2005)
Kommentar
Fra : Kristian Thy


Dato : 20-04-05 23:45

Jacob Atzen wrote:
> Det er det forventede. Med plinger evalueres indholdet ikke, med
> gåseøjne bliver det evalueret. Der er således formentlig en meget lille
> performance mæssig fordel i kun at bruge gåseøjne, når det er
> nødvendigt. Den er dog så lille, at det ikke bør være afgørende for,
> hvilken af de to konstruktioner man benytter sig af.

Når du har stor nok server-load vil du være glad for at du i sin tid
valgte konsekvent kun at bruge "" hvor der var brug for dem.

\\kristian
--
Thomas Madsens fremragende guide til sikring af Windows:
http://home18.inet.tele.dk/madsen/windows/tjenester/

Peter Brodersen (21-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 21-04-05 00:32

On Thu, 21 Apr 2005 00:44:47 +0200, Kristian Thy <thy@itu.dk> wrote:

>Når du har stor nok server-load vil du være glad for at du i sin tid
>valgte konsekvent kun at bruge "" hvor der var brug for dem.

Nej, så har du groft spildt din tid.

Valget af " og ' er noget nær det allersidste sted, man bør bruge tid
på at foretage optimeringer. Medmindre, man decideret har det
indbygget som vane, så spilder man tid, hvis man stopper op og tænker
over det undervejs. Tid, man kan bruge på så meget andet (hælde mere
ram i maskinen, øge querycache'n på sin mysql, ofre lidt ram til
fordel for persistent connections/connection pooling, fintune sin
postgresql og så fremdeles).

Ens PHP-script skal vitterligt ikke bestå af andet end en lang række
strings, der bliver sammensat og evt. outputtet, uden at nogen
funktioner i øvrigt bliver brugt.

Problemet bunder i naive benchmark-sammenligninger, der måske viser at
"den ene er 80% hurtigere end den anden" - resultater, der måske er
tydelige ved tusindevis af gentagelser. Umiddelbart noget, der minder
om situationen ved højt load - men... tallene skal sammenlignes med
samtlige øvrige funktioner, der bliver afviklet. Sandsynligvis vil et
enkelt regulært udtryk hist og her æde hvad man har "sparet" i hele
sin øvrige PHP-kode. Eller det samlede load for et ekstra reload på
siden (inklusive parsing, fortolkning, udførelse, netværksbelastning,
logging, etc.) vil æde hvad man i øvrigt sparer på en måneds tid
udelukkende på '/"-kontoen.

Det kan ikke gentages nok gange. Sidder man og laver optimeringer på '
og ", så taler al sandsynlighed og empiri for at man laver et forkert
stykke arbejde. Medmindre at tid er gratis OG der ikke er nogen
forskel i praksis OG man godt vil risikere mere ulæselig kode (og evt.
forøget arbejdstid - som dog er gratis i dette udsagn) grundet
inkonsekvente quote-metoder.

--
- Peter Brodersen

Kristian Thy (21-04-2005)
Kommentar
Fra : Kristian Thy


Dato : 21-04-05 01:04

Peter Brodersen wrote:
> On Thu, 21 Apr 2005 00:44:47 +0200, Kristian Thy <thy@itu.dk> wrote:
>>Når du har stor nok server-load vil du være glad for at du i sin tid
>>valgte konsekvent kun at bruge "" hvor der var brug for dem.
>
> Nej, så har du groft spildt din tid.
>
> Valget af " og ' er noget nær det allersidste sted, man bør bruge tid
> på at foretage optimeringer. Medmindre, man decideret har det
> indbygget som vane, så spilder man tid, hvis man stopper op og tænker
> over det undervejs. Tid, man kan bruge på så meget andet (hælde mere
> ram i maskinen, øge querycache'n på sin mysql, ofre lidt ram til
> fordel for persistent connections/connection pooling, fintune sin
> postgresql og så fremdeles).

Jeg er glad for at du anerkender at når man har vænnet sig til det er
der noget at spare. Og ram koster penge, det gør singlequotes ikke.

> Sandsynligvis vil et
> enkelt regulært udtryk hist og her æde hvad man har "sparet" i hele
> sin øvrige PHP-kode.

Jeg ikke se hvad problemet er. Dit argument er basalt set at bruger man
tid på at udføre andre ting behøver man ikke spare et par millisekunder
andetsteds. "Tjener man nok penge behøver man ikke spare?"

\\kristian
--
Thomas Madsens fremragende guide til sikring af Windows:
http://home18.inet.tele.dk/madsen/windows/tjenester/

Peter Brodersen (21-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 21-04-05 01:28

On Thu, 21 Apr 2005 02:04:20 +0200, Kristian Thy <thy@itu.dk> wrote:

>Jeg ikke se hvad problemet er. Dit argument er basalt set at bruger man
>tid på at udføre andre ting behøver man ikke spare et par millisekunder
>andetsteds. "Tjener man nok penge behøver man ikke spare?"

Nej, men man bør ganske enkelt prioritere, og her er quote-halløjet
det helt forkerte sted at prioritere. Det giver allerhøjst en mental,
symbolsk følelse af at man har gjort noget rigtigt. Det vil ikke ændre
på noget i praksis overhovedet - og ved undtagelsen, der bekræfter
reglen, vil man alligevel kunne have fået en bedre forbedring
andetsteds.

Giv mig din webside, og jeg vil reloade den en håndfuld gange. Det vil
sandsynligvis belaste serveren mere (hvis man tæller alt med), end
hvad de par quotes nogensinde kommer til at betyde.

Bemærk også, at der kan være ineffektivitet til følge, hvis andre skal
til at arbejde med samme kode, og quotingen er blandet i en sådan
grad, at det ikke lige er til at tilføje en variabel let hist og her.

Min pointe er stadigvæk, at det er spild af tid, at "oplære" folk til
at gå op i det. Folk bliver ikke bedre kodere (eller medarbejdere) af
den grund, og de hypotetiske setups er meget hypotetiske. Man
accepterer, at man i det hele taget varmer op under Apache og PHP, men
ikke at man bruger ".." i stedet for '...' - det giver for mig ingen
mening. Det tweak er så marginalt, at det drukner i alt andet arbejde
på serveren - hvis man lige laver en ssh- eller ftp-forbindelse for
meget til serveren et tidspunkt, etc...

--
- Peter Brodersen

Bertel Lund Hansen (21-04-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 21-04-05 07:11

Kristian Thy skrev:

>Jeg er glad for at du anerkender at når man har vænnet sig til det er
>der noget at spare.

Det kaldes at spare på kronen og lade daleren rulle.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste