Blev lite fundersam för några dagar sedan när en kodrad inte betedde sig som jag hade önskat. Skapade en funktion som tog ett numeriskt värde och skrev ut det textvärde som var kopplat till numret. Liknande att skapa en funktion skrivutmanad(x) som skriver ut namnet på månad x.
Hur som helst. Det som gjorde mig förvirrad var något likande nedstående rad:
Detta resulterade i att HTML-koden blev
April<font class="fetstil"></font>
och inte
<font class="fetstil">April</font>
som önskat. Jag har arbetat mig runt det med är mest nyfiken vad som orsakar beteendet. Kör för övrigt PHP 4.3.0 på den servern.
Funktionen som anropades var för övrigt en switch-sats men resultatet blir detsamma även om jag bara skriver en print("HEJ!") i debug-syfte.
Det är väl egentligen inget konstigt. För att den ska kunna skriva ut raden måste den först kontrollera vad som finns på raden. Om du har ett funktionsanrop måste den utföra det innan den kan skriva ut raden. Om du då i funktionen skriver ut ett värde med echo eller print så kommer det ju skrivas ut före resten av raden skrivs ut.