php - salto - ¿Por qué el sprintf() no produce nada?
sprintf laravel (3)
sprintf () devuelve una cadena mientras que printf () genera una cadena. Entonces tendrías que hacer algo como lo siguiente:
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);
Nunca he usado estas funciones antes, pero después de leer mucho sobre sprintf (), decidí que debía conocerlo.
Así que seguí adelante e hice lo siguiente.
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());
No imprime nada. Usando la función printf () por otro lado:
printf(currentDateTime());
Imprime el resultado bien. Entonces, ¿cuál es la diferencia entre estas 2 funciones y cómo uso correctamente la función sprintf ()?
sprintf()
devuelve una cadena, printf()
muestra.
Los dos siguientes son iguales:
printf(currentDateTime());
print sprintf(currentDateTime());
sprintf()
imprime el resultado en una cadena. printf()
imprime en una salida estándar, es decir:
printf(currentDateTime());
es equivalente a:
echo sprintf(currentDateTime());