Frage

Ich habe diese Funktionen noch nie zuvor verwendet, aber nachdem ich viel über Sprintf () gelesen habe, entschied ich, dass ich es kennenlernen sollte.

Also ging ich weiter und machte Folgendes.

function currentDateTime() {
  list($micro, $Unixtime) = explode(" ",microtime());
  $sec= $micro + date("s", $Unixtime);
  $sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + date("s", $Unixtime)));
  return date("Y-m-d H:i:s", $Unixtime).$sec;
}

sprintf(currentDateTime());

Es druckt nichts. Verwenden Sie die Funktion printf () dagegen:

printf(currentDateTime());

Es druckt das Ergebnis gut. Was ist der Unterschied zwischen diesen beiden Funktionen und wie verwende ich die Sprintf () -Funktion richtig?

War es hilfreich?

Lösung

sprintf() Gibt eine Zeichenfolge zurück, printf() Zeigt es an.

Die folgenden beiden sind gleich:

printf(currentDateTime());
print sprintf(currentDateTime());

Andere Tipps

sprintf() druckt das Ergebnis zu einer Zeichenfolge. printf() druckt es in Standardausgabe dh:

printf(currentDateTime());

ist äquivalent zu:

echo sprintf(currentDateTime());

Sprintf () gibt eine Zeichenfolge zurück, während printf () eine Zeichenfolge ausgibt. Sie müssten also so etwas wie Folgendes tun:

function currentDateTime() {
  list($micro, $Unixtime) = explode(" ",microtime());
  $sec= $micro + date("s", $Unixtime);
  $sec = mb_ereg_replace(sprintf('%d', $sec), "", ($micro + date("s", $Unixtime)));
  return date("Y-m-d H:i:s", $Unixtime).$sec;
}

$output = sprintf(currentDateTime());
printf($output);

http://www.php.net/sprintf

http://www.php.net/printf

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top