php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2005, 11:01  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard Wozu sprintf() ?

Hallo,
entschuldigt meine etwas seltsame Frage, aber wozu benutzt man eigentlich sprintf()? Mir ist bewusst was diese Funktion macht ( http://de.php.net/sprintf ). Mir ist aufgefallen dass diese Funktion in vielen Tutorials und Scripten verwendet wird. Meiner Meinung nach macht diese Funktion das Script unübersichtlich.

Daher meine Frage, bringt (s)printf() irgendwelche Vorteile mit sich, warum ich dies anstatt von echo() / print() verwenden sollte?
Chr!s ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.07.2005, 11:14  
Gast
 
Beiträge: n/a
Standard

[SPAM]:
Warte darauf, daß 'unser Ben' dir deine Frage beantwortet.

Ben LIEBT diese Funktion.
Er wird vielleicht ein paar schöne Beispiele parat haben
- wie diese Funktion
---> sehr übersichtlich, zweckmäßig und logisch anzuwenden ist.

Man muß sich mir dieser Funktion wirklich 'auseinandersetzen'
um deren 'Schönheit' zu erkennen.

-Wort zum Sonntag-
~dilemma~
 
Alt 30.07.2005, 11:15  
Gast
 
Beiträge: n/a
Standard

Zitat:
Mir ist bewusst was diese Funktion macht
Dann verstehe ich die Frage nicht. Damit lassen sich Werte in eine gewünschte Form bringen, also formatieren.

Gruß
phpfan
 
Alt 30.07.2005, 11:19  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Beispiel aus Ben's Tutorial ( http://php-info.org/ftopic109.html ):
PHP-Code:
<?php
               $naechste 
sprintf'&amp;raquo; [url="%s"]Datensätze %d bis %d[/url] &amp;raquo;',
                                            
$link,
                                            
$naechsteStart,
                                            
$naechsteStart $proSeite ); 
?>
Ich (!) hätte hier mit echo gearbeitet.
Zitat:
Dann verstehe ich die Frage nicht. Damit lassen sich Werte in eine gewünschte Form bringen, also formatieren.
Wie gesagt, das ist mir schon klar, bei bestimmten Einsatzgebieten ist es auch völlig okay, aber nur um
PHP-Code:
<?php
$bla 
sprintf('[url="%s"]%s[/url]''http://bla.de''Klick hier');
?>
auszugeben kommt mir sprintf() nicht so logisch vor..
Chr!s ist offline  
Alt 30.07.2005, 11:21  
Gast
 
Beiträge: n/a
Standard

sprintf macht keine Ausgabe, da wird das Ergebnis in eine Variable geschrieben, das kannst du mit echo nicht vergleichen.

Gruß
phpfan
 
Alt 30.07.2005, 11:23  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Zitat:
sprintf macht keine Ausgabe
Ich hätte hier ja trotzdem mit echo gearbeitet oder das ganze eben ohne sprintf() in einer Variable gespeichert.. Naja ich glaube es wird wohl "geschmackssache" sein.. ?
Chr!s ist offline  
Alt 30.07.2005, 11:26  
Gast
 
Beiträge: n/a
Standard

wie jetzt? echo oder in einer Variable gespeichert? ob_start?
 
Alt 30.07.2005, 11:30  
Gast
 
Beiträge: n/a
Standard

sprintf() bzw.printf() machen nicht nur den Code übersichtlicher und verständlicher: sie sind auch schneller als eine ellenlange Stringaddition.
 
Alt 30.07.2005, 11:37  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von dilemma
Ben LIEBT diese Funktion.
YES. .. ich find die super.

Ich hab auch lang gar nicht verstanden, was die alles kann ... aber die kann einfach alles *gg*

Als Beispiel füge ich da gerne das hier an:

PHP-Code:
<?php

    $table_prefix 
'test__';

    
$sql 'SELECT
                     _daten
               FROM
                     %stabelle
               WHERE
                     _id = %s'
;

    
$sql sprintf($sql$table_prefix,
                                
1);

?>
Imho geniale Funktion.
Ich habe aber auch gemerkt, dass man den Code dann auch gut kommentieren sollte, sonst weiß man schnell nicht mehr, was jetzt welche Variable noch genau macht.

Da ich Eclipse nutze und dann einfach über der Variable F3 drücke gelange ich sowieso direkt zur Definition .. demnach meiner Ansicht nach perfekt.

Zitat:
Zitat von Chr!s
Naja ich glaube es wird wohl "geschmackssache" sein.. ?
Ich erspare mir dadurch oftmals einfach irgendwelche Escapeorgien bzw. die nervige Verwendung von ".".

Bsp mit printf(), was ja eigentlich nichts anderes ist als sprintf() mit gefolgtem echo().
PHP-Code:
<?php

    $foo 
'Ben';
    
$bar "toller Held"

    
printf('Obwohl es nicht jeder glauben will, so ist %s doch ein wirklich %s'$foo$bar);

    
// Alternativ:
    
echo 'Obwohl es nicht jeder glauben will, so ist ' $foo ' doch ein wirklich ' $bar;

?>
Meiner Ansicht nach ist erstere Möglichkeit einafch eleganter und auch übersichtlicher, wenn man denn versteht, was da eigentlich passiert.

Nuja.
Niemand kann Dich zwingen ... obwohl das schon reizvoll wäre

Grüße Ben.
imported_Ben ist offline  
Alt 30.07.2005, 11:43  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Zitat:
Zitat von VolkerK
wie jetzt? echo oder in einer Variable gespeichert? ob_start?
Ich hab doch gesagt ich würde entweder echo oder das Ganze eben wie sprintf() in einer Variable speichern
PHP-Code:
<?php

    $foo 
'Ben';
    
$bar "toller Held"

    
printf('Obwohl es nicht jeder glauben will, so ist %s doch ein wirklich %s'$foo$bar);

    
// Alternativ:
    
echo 'Obwohl es nicht jeder glauben will, so ist ' $foo ' doch ein wirklich ' $bar;

?>
Genau hier find ich die echo()-Variante schöner
Ansichtssache
Chr!s ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP: 'Templating' auf Basis von sprintf () nikosch Tutorials 3 08.06.2008 19:15
sprintf mittels array füttern? tomtaz PHP Tipps 2008 4 27.03.2008 05:20
Wozu sind folgende Ports? Freeaak Off-Topic Diskussionen 2 04.01.2007 22:07
parameter für sprintf bzw. string in text umwandeln PHP Tipps 2005-2 4 12.07.2005 15:20
Benötige Hilfe/Tipp für Rechnung mit sprintf PHP Tipps 2005-2 2 03.07.2005 13:50
Wozu gibt es Sessions ? seven-12 PHP Tipps 2005-2 7 10.06.2005 14:45
Sessions? Wozu die Sessionid? PHP Tipps 2005 2 27.05.2005 13:03
wozu functionen verwenden???? jens76 PHP Tipps 2005 19 02.02.2005 16:08
Formatierung mittels sprintf() inu PHP Tipps 2005 3 28.01.2005 16:02
Wozu ist der md5-checksum bei einem Download? Off-Topic Diskussionen 21 05.01.2005 13:18
[Erledigt] Wozu XML? HTML, Usability und Barrierefreiheit 7 25.10.2004 14:29
Warning: sprintf(): Too few arguments Paulo PHP Tipps 2004 3 21.10.2004 12:35
DTD-Angabe! Wozu? HTML, Usability und Barrierefreiheit 2 10.06.2004 15:14
Wozu braucht man XML??? HTML, Usability und Barrierefreiheit 8 03.06.2004 14:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql sprintf, sprintf sql, sprintf php, sprintf, php sql sprintf, wofür sprintf, sprintf vorteil, welche vorteile hat printf php, vorteil sprintf, wofür steht printf, array sprintf, wozu printf, sprintf tutorial, php sprintf vorteil, printf wofür, sprintf php nutzen, sprintf php beispiele, sprintf wozu, printf php in variable schreiben, \$sql = sprintf\

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.