Lagt ner lite tid på att granska hur funktionerna (några stycken mellan "ren timestamp" och "läsvänlig sträng") faktiskt hanterar detta.
sprintf som är funktionen som i slutänden skapar strängen, har ett mycket förlåtande hanterande av variabler.
Har den ingenstans att peta in dem, så tömmer den kön från slutet.
Och eftersom det bara rör sig om en variabel så går det helt enkelt att avstå från att använda den. Däremot har 2 eller flera variabler inte alls samma förlåtande beteende.
Ex.
Kod: Markera allt
<?php
$num = 12;
$location = "buren";
$format = 'Det sitter %d apor i %s.';
printf($format, $num, $location);
?>
Resultatet om man bara tar bort %d blir att det skrivs ut:
Det sitter apor i 12
Skulle inte klara ge tänkt resultat om ändra %d till en fast siffra, även om det alltid är 12 apor i buren. Just i detta exempel så har man ju både
$num och
$location i samma kod... men när man har variablerna utspridda i systemet är det farligt att chansa.
I spårkfilerna har vi bara
$format, så är det farligt generellt att "ignorera" %d m.m. i språkfilerna.
Just i fallet AGO så är det harmlöst. Men börjar man ha vanan att ta bort %d, %s och liknande här och var, dröjer det inte länge innan man tar bort ett för mycket.
Så av det skälet, nej vi bör inte ta bort några %d. Däremot kan man fortfarande se till att AGO == 0 får en siffra i stället för "en".
/marcus