Zu der Performance poste ich nochmal meinen Test, ausgeführt unter Windoof XP (vllt habt ihr ja bessere Ergebnisse [und stört euch net an dem Code xD]):
PHP-Code:
Einfache Anführungszeichen: 0.06699562 ms Doppelte Anführungszeichen: 0.05292892 ms Doppelte Anführungszeichen, parsed: 0.06604195 ms HEREDOC: 0.07605553 ms HEREDOC parsed: 0.11992455 ms sprintf: 0.11992455 ms<?php header ( 'Content-Type: text/html; charset=utf-8' ); $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $b = 'Welt' ; $a = 'Hallo ' . $b ; } $t = ( microtime ( true ) - $time ); echo 'Einfache Anführungszeichen: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $b = "Welt" ; $a = "Hallo " . $b ; } $t = ( microtime ( true ) - $time ); echo 'Doppelte Anführungszeichen: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $b = "Welt" ; $a = "Hallo $b " ; } $t = ( microtime ( true ) - $time ); echo 'Doppelte Anführungszeichen, parsed: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $b =<<<HEREDOC Welt HEREDOC; $a = <<<HEREDOC Hallo HEREDOC . $b ; } $t = ( microtime ( true ) - $time ); echo 'HEREDOC: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $b =<<<HEREDOC Welt HEREDOC; $a = <<<HEREDOC Hallo $b HEREDOC . $b ; } $t = ( microtime ( true ) - $time ); echo 'HEREDOC parsed: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; $time = microtime ( true ); for( $i = 0 ; $i < 100 ; $i ++) { $a = sprintf ( 'Hallo %s' , 'Welt' ); } $t = ( microtime ( true ) - $time ); echo 'sprintf: ' . sprintf ( '%0.8f ms' , $t * 1000 ) . "<br />\n" ; echo "<br />\n" ; highlight_file ( __FILE__ );
/Edit: Ändert man die Durchläufe von 100 auf 8000 wird der unterschied langsam Spürbar!