Ich habe nicht geschwiegen, ich habe dir doch erklärt, wofür die Negativ-Bewertung war.
Stellt sich die Frage "wann" und welche Provokation dafür notwendig war.
Deine ursprüngliche Funktion macht aber auch viel mehr, als das was du gebenchmarkt hast.
Dann messen wir die eben mal, das Ergebnis wird Dir nicht gefallen:
<?php
function dedlfix ( $input ) {
return date( 'd.m.y', strtotime( $input ) );
}
function ursus( $date = false ) {
if ( false === $date ) {
$date = time();
}
if ( 'string' == gettype( $date ) ) {
return (
substr( $date, 8, 2) . '.'
. substr( $date, 5, 2 ) . '.'
. substr( $date, 2, 2 )
);
} elseif ( 'integer' == gettype( $date ) ) {
return date( 'd.m.y', $date );
} else {
trigger_error(
"function date2german: Typ für '$date' nicht implementiert.",
E_USER_NOTICE
);
return false;
}
}
$Imax = 1000000;
$string = '2019-07-05';
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = dedlfix( $string );
}
echo "Methode dedlfix: " . ( microtime(true) - $Tstart ) , "\n";
$Tstart = microtime(true);
for ( $i=0; $i < 10000; $i++ ) {
$dummy = ursus( $string );
}
echo "Methode ursrus : " . ( microtime(true) - $Tstart ) , "\n";
Ausgaben:
Methode dedlfix: 0.087255001068115
Methode ursrus : 0.02013111114502