Kan dette laves smartere?

This is a discussion on Kan dette laves smartere? within the Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php) forum.

Kan dette laves smartere?

Postby Mathias on Thu Dec 04, 2008 2:59 am

Måske unødigt spørgsmål, men følgende kodestump laver jeg tit lignende af,
og synes egentlig det er lidt kluntet:

if (strftime("%H%M", $row['timestamp']) != "0000") echo strftime("%H:%M",
$row['timestamp']);
eller:
if (!empty($row['sted'])) echo "<p>{$row['sted']}</p>";

Findes der en kortere måde?

Mvh Mathias

Mathias
 
Posts: 19
Joined: Sun Jan 23, 2005 11:47 am

Re: Kan dette laves smartere?

Postby Martin on Thu Dec 04, 2008 4:45 am

Mathias wrote:
> Måske unødigt spørgsmål, men følgende kodestump laver jeg tit lignende
> af, og synes egentlig det er lidt kluntet:
>
> if (strftime("%H%M", $row['timestamp']) != "0000") echo
> ;

echo (strftime("%H%M", $row['timestamp']) != "0000"
?
strftime("%H:%M", $row['timestamp'])
:
'');

> eller:
> if (!empty($row['sted'])) echo "

{$row['sted']}

";

echo (!empty($row['sted']) ? "

" . $row['sted'] . "

" : "");


>
> Findes der en kortere måde?

Find den måde der er nemmest FOR DIG!

(det sidste efter : er else)

>
> Mvh Mathias
Martin
 
Posts: 1124
Joined: Wed Jul 16, 2003 10:57 pm

Re: Kan dette laves smartere?

Postby Bertel Lund Hansen on Thu Dec 04, 2008 5:02 am

Mathias skrev:

> Måske unødigt spørgsmål, men følgende kodestump laver jeg tit lignende af,
> og synes egentlig det er lidt kluntet:

Hvad er det der gør at du finder det kluntet?

I princippet kan det ikke gøres bedre. Martin har vist en anden
måde at skrive det samme på, og jeg er enig i at det gælder om at
finde den måde du selv bedst kan hitte ud af.

Hvis du havde skrevet forvirret kode, havde vi selvfølgelig rådet
anderledes, men det gør du jo ikke.

Hvis du vil have det til se lidt mere overskueligt ud, kan du
skrive:

$tid=strftime("%H%M", $row['timestamp']);
if ($tid!= "0000") echo $tid;

men det er ikke bedre som sådan. Det er min foretrukne måde (hvis
der ikke er andre hensyn) fordi jeg synes at det er nemmere at se
hvad if-sætningen gør, og fordi man kun én gang skal udføre
beregningen.

--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
Bertel Lund Hansen
 
Posts: 1247
Joined: Thu Jul 17, 2003 11:57 am

Re: Kan dette laves smartere?

Postby Dan Storm on Thu Dec 04, 2008 5:11 am

Mathias skrev:
> if (strftime("%H%M", $row['timestamp']) != "0000") echo
> strftime("%H:%M", $row['timestamp']);
> eller:
> if (!empty($row['sted'])) echo "

{$row['sted']}

";
>
> Findes der en kortere måde?

Udover at du ikke rigtig får linieskift med, så synes jeg nu det er pænt
som det er.

Personligt ville jeg foretrække denne syntaks.

if( strftime("%H%M", $row["timestamp"]) != "0000" )
echo strftime("%H%M", $row["timestamp"]);

if( !empty($row["sted"]) )
echo "

".$row["sted"]."

";


Alternativet som Martin viser, synes jeg ikke skaber et pænere overblik
eller letter læsbarheden, men som sagt; jeg har jo min egen personlige
favorit syntaks.

Eneste tidspunkt jeg kunne finde på at ville bruge det er noget ala:
while( $o = mysql_fetch_object($query_result) )
{
$sel = ($o->artId == $selId) ? " selected=\"selected\"" : "";
echo "";
}

Men det er jo ikke ligefrem fordi jeg synes det ser specielt godt ud.
Men smag og behag; hvis du synes dit eget ser kluntet ud, må du jo
forsøge dig frem.



--
Dan Storm - storm at err0r dot dk / http://err0r.dk/

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!
Dan Storm
 
Posts: 587
Joined: Sun Sep 12, 2004 10:47 am

Re: Kan dette laves smartere?

Postby Carsten on Thu Dec 04, 2008 5:51 am

"Bertel Lund Hansen" skrev i en meddelelse
news:lehfj4l07j7q4lol6gcia86t35ch1g88p3@news.stofanet.dk...
> $tid=strftime("%H%M", $row['timestamp']);
> if ($tid!= "0000") echo $tid;
>
> men det er ikke bedre som sådan. Det er min foretrukne måde (hvis
> der ikke er andre hensyn) fordi jeg synes at det er nemmere at se
> hvad if-sætningen gør, og fordi man kun én gang skal udføre
> beregningen.

Helt enig !! Især i de tilfælde hvor man som udvikler måske ikke ved hvad
der ligger bag beregningen og derfor ikke ved om den tager 2 pico-sekunder
eller 2 timer. F.eks.

if (!empty(getCustomerAddress($custId)) echo
"

{getCustomerAddress($custId)}

";

Carsten


Carsten
 
Posts: 40
Joined: Tue Apr 25, 2006 1:16 am

Re: Kan dette laves smartere?

Postby Mathias on Thu Dec 04, 2008 7:54 am

Mange tak for gode tips alle sammen.

Jeg har brugt lidt af hvert :-)

-Mathias
Mathias
 
Posts: 19
Joined: Sun Jan 23, 2005 11:47 am


Return to Produktion af websider ved brug af php (dk.edb.internet.webdesign.serverside.php)

Who is online

Users browsing this forum: No registered users and 0 guests