Non far visualizzare lo zero
Salve,
in un modulo personalizzato ho un campo table in cui faccio visualizzare alcuni dati.
Una colonna visualizza un valore numerico.
Quando il numero è zero non deve visualizzare nulla.
Ho provato con ltrim( number_format( $valore ), "0" )
ma con php 8.1 risulta deprecato
Potrei fare il controllo per empty ed isset (per valori NULL) ma vorrei sapere se c'é un'altra opzione e se sia il giusto modo di operare.
Gaetano
Risposte
Ciao, leggendo il post credo
Ciao, leggendo il post credo sia più una questione di programmazione php che di Drupal in generale.
Potresti usare un controllo del genere
<?php
function printvar($a) {
print " -> " . ($a && is_numeric($a) ? number_format($a, 0) : '') . "\n";
}
printvar(NULL);
printvar(0);
printvar(2.55);
printvar("0");
printvar("4");
printvar("AAA");
?>
is_numeric è necessario perchè number_format richiede un valore numerico.
--> https://onlinephp.io/c/fd361
Grazie Maurizio, il mio
Grazie Maurizio, il mio ragionamento si era fermato ad un certo punto. Avveo trovato un'altra soluzione ma la tua è più tecnica.
Il codice mi è chiaro, non mi è chiara la prima parte.
Il $a prima dell'&& controlla che ($a) non sia vuota o null ?
La risposta più completa è
La risposta più completa è nella documentazione:
https://www.php.net/manual/en/types.comparisons.php
Capito significa che $a non
Capito significa che $a non dev'essere null e numerica