![]() |
PHP strings einfügen
Hallo
Ich bin neu bei PHP und möchte in einen string z.B $mystring = "12345"; Kommas einfügen. Das Resultat ($myoutput) soll so aussehen: 1, 2, 3, 4, 5 Bis jetzt sieht der code so aus:
Code:
Er funktioniert schon halbwegs. Bug:
$myoutput = "";
for ($i = 0; $i < strlen($mystring); $i++){ if ($i < strlen($mystring) -1) { $myoutput .= $myoutput.$mystring[$i].", "; } else { $myoutput .= $myoutput.$mystring[$i]; } } Wenn z.B $mystring = "34"; ist, dann gibt es 3, 3, 4 aus... Kann man die Funktion evtl noch schöner schreiben? Danke für Hinweise - Antworten |
Re: PHP strings einfügen
Code:
$myoutput = "";
for ($i = 0; $i < strlen($mystring); $i++){ if ($myoutput != "") { $myoutput .= ", "; } $myoutput .= $myoutput.$mystring[$i]; } |
Re: PHP strings einfügen
Danke fuer die schnelle Antwort
Bei deinem Code passiert jedoch das gleiche: Wenn z.B $mystring = "34"; ist, dann gibt es 3, 3, 4 aus... |
Re: PHP strings einfügen
Hier war es doppeltgemoppelt:
Code:
$myoutput .= $mystring[$i];
|
Re: PHP strings einfügen
Danke, funktioniert nun bestens!
|
Re: PHP strings einfügen
Benchmarke das doch mal gegen diese Lösung:
$myoutput =substr(preg_replace('/(.)/','\\1,',$mystring),0,-1);
Code:
--> ~0.118 Sekunden
for ($i = 0; $i < strlen($mystring); $i++)
{ if ($myoutput != "") $myoutput .= ","; $myoutput .=$mystring[$i]; } mit ++$i statt $i++ --> ~0.114 Sekunden
Code:
--> ~0.073 Sekunden
$myoutput =substr(preg_replace('/(.)/','\\1,',$mystring),0,-1);
Alle Werte verstehen sich über 10K iterationen und dann der Durschniktt mehrerer Aufrufe. Ich habe viel damit rumgespielt, aber ich habe die Performance der ersten Lösung nicht nennswert anheben können. Die Regexlösung liegt weit vorne und ist auch noch die kürzeste :-). |
Re: PHP strings einfügen
Wenn ihr schon am Benchmarken seid, wie wäre es mit dieser Lösung:
Code:
Ach ja: Die for-Lösung sollte so schneller werden:
$myoutput = substr(chunk_split($mystring, 1, ', '), 0, -2);
Code:
for ($i = 0, $strlen = strlen($mystring); $i < $strlen; $i++)
|
Re: PHP strings einfügen
Zitat:
0,03 Sekunden! |
Re: PHP strings einfügen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz