/ 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
phpgolf, irriterende problem.
Fra : Kasper Nordal Lund


Dato : 22-12-10 17:59

Hej eksperter.

Jeg prøver for sjov (og for at holde mine php skills lidt ved lige) at
deltage i phpgolf på phpgolf.org.

Jeg forsøget at lave den challenge der hedder "99 Bottles" og er nået frem
til følgende kode: (Husk, jeg spørger ikke om hjælp til kodeoptimering,
men kun til det konkrete problem)

<?$x=99;$w="on the wall";while($x>=2){$s="bottles of beer";echo"$x $s $w,
$x $s.";$x--;if($x==1){$s="bottle of beer";}echo"<br>Take one down and
pass it around, $x $s $w.<br><br>";if($x==1){$b="bottles of beer";echo"1
$s $w, 1 $s .<br>Go to the store and buy some more, 99 $b $w.";}}?>

Koden vises korrekt i mit lokale miljø, men på phpgolfs hjemmeside fejler
den. Hvis jeg bruger deres view funktion kan jeg se at der sættes et 1
"ettal" i starten af mit output.

Er der nogen der kan hjælpe?

Mvh.

Kasper


 
 
scootergrisen (22-12-2010)
Kommentar
Fra : scootergrisen


Dato : 22-12-10 18:45

Prøv og ændre :
<?$x=99;

Til :
<?php $x=99;

Og se om der er nogen forskel.

Gemmer du i UTF8 med BOM ?
Hvis du gør så prøv og gem i UTF8 uden BOM.

Martin (22-12-2010)
Kommentar
Fra : Martin


Dato : 22-12-10 19:25

On 22-12-2010 18:45, scootergrisen wrote:
> Prøv og ændre :
> <?$x=99;
>
> Til :
> <?php $x=99;
>
> Og se om der er nogen forskel.
>

Gør det ikke - serveren det hele kører på har short open tags til on :)

> Gemmer du i UTF8 med BOM ?
> Hvis du gør så prøv og gem i UTF8 uden BOM.

Det kunne måske være dette

Martin (22-12-2010)
Kommentar
Fra : Martin


Dato : 22-12-10 19:28

On 22-12-2010 17:59, Kasper Nordal Lund wrote:
> Hej eksperter.
>
> Jeg prøver for sjov (og for at holde mine php skills lidt ved lige) at
> deltage i phpgolf på phpgolf.org.
>
> Jeg forsøget at lave den challenge der hedder "99 Bottles" og er nået frem
> til følgende kode: (Husk, jeg spørger ikke om hjælp til kodeoptimering,
> men kun til det konkrete problem)
>
> <?$x=99;$w="on the wall";while($x>=2){$s="bottles of beer";echo"$x $s $w,
> $x $s.";$x--;if($x==1){$s="bottle of beer";}echo"<br>Take one down and
> pass it around, $x $s $w.<br><br>";if($x==1){$b="bottles of beer";echo"1
> $s $w, 1 $s .<br>Go to the store and buy some more, 99 $b $w.";}}?>

pssst...
if($x==1){$s="bottle of beer";}
if($x==1)$s="bottle of beer";
giver samme resultat men hele 2 bytes mindre :)

Istedet for dine <br> så brug
ny linje - så sparer du hele 3 bytes hver gang

Altså

echo"1 $s $w, 1 $s .<br>Go to the store and buy some more, 99 $b $w.";

bliver til

echo"1 $s $w, 1 $s .
Go to the store and buy some more, 99 $b $w.";

Lad vær med at slutte dit php, den sidste ?> er bare i vejen

NÃ¥ det var ikke det du ville have optimeret

Martin (22-12-2010)
Kommentar
Fra : Martin


Dato : 22-12-10 19:29

On 22-12-2010 17:59, Kasper Nordal Lund wrote:
> Hej eksperter.
>
> Jeg prøver for sjov (og for at holde mine php skills lidt ved lige) at
> deltage i phpgolf på phpgolf.org.
>
> Jeg forsøget at lave den challenge der hedder "99 Bottles" og er nået frem
> til følgende kode: (Husk, jeg spørger ikke om hjælp til kodeoptimering,
> men kun til det konkrete problem)
>
> <?$x=99;$w="on the wall";while($x>=2){$s="bottles of beer";echo"$x $s $w,
> $x $s.";$x--;if($x==1){$s="bottle of beer";}echo"<br>Take one down and
> pass it around, $x $s $w.<br><br>";if($x==1){$b="bottles of beer";echo"1
> $s $w, 1 $s .<br>Go to the store and buy some more, 99 $b $w.";}}?>
>
> Koden vises korrekt i mit lokale miljø, men på phpgolfs hjemmeside fejler
> den. Hvis jeg bruger deres view funktion kan jeg se at der sættes et 1
> "ettal" i starten af mit output.
>
> Er der nogen der kan hjælpe?

Jeg plejer at bruge en special php.ini fil når jeg skal golfe

short_tags = On
allow_url_fopen = Off
max_input_time = 2
max_execution_time = 8
magic_quotes_gpc = Off
memory_limit = 1M
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

Kasper Nordal Lund (22-12-2010)
Kommentar
Fra : Kasper Nordal Lund


Dato : 22-12-10 19:33

On Wed, 22 Dec 2010 16:59:17 +0000, Kasper Nordal Lund wrote:

> Hej eksperter.
>
> Jeg prøver for sjov (og for at holde mine php skills lidt ved lige) at
> deltage i phpgolf på phpgolf.org.
>
> Jeg forsøget at lave den challenge der hedder "99 Bottles" og er nået
> frem til følgende kode: (Husk, jeg spørger ikke om hjælp til
> kodeoptimering, men kun til det konkrete problem)
>
> <?$x=99;$w="on the wall";while($x>=2){$s="bottles of beer";echo"$x $s
> $w, $x $s.";$x--;if($x==1){$s="bottle of beer";}echo"<br>Take one down
> and pass it around, $x $s $w.<br><br>";if($x==1){$b="bottles of
> beer";echo"1 $s $w, 1 $s .<br>Go to the store and buy some more, 99 $b
> $w.";}}?>
>
> Koden vises korrekt i mit lokale miljø, men på phpgolfs hjemmeside
> fejler den. Hvis jeg bruger deres view funktion kan jeg se at der sættes
> et 1 "ettal" i starten af mit output.
>
> Er der nogen der kan hjælpe?

Hej igen.

Tak for forslagene. Det var fordi jeg ikke skulle bruge <br> tagget, men
bare \n. (så fik jeg alligevel lidt optimering med :))

God jul.

Mvh.
Kasper


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

Månedens bedste
Årets bedste
Sidste års bedste