PHP rimuovi primi zeri
-
01-10-2019 - |
Domanda
Vuoi rimuovere tutti 0
posto all'inizio di una variabile.
Alcune opzioni:
- se
$var = 0002
, dobbiamo spogliare prima000
($var = 2
) - se
var = 0203410
dovremmo prima rimuovere0
($var = 203410
) - se
var = 20000
- non fare nulla ($var = 20000
)
Qual è la soluzione?
Soluzione
cast a intero
$var = (int)$var;
Altri suggerimenti
Forse ltrim
?
$var = ltrim($var, '0');
$var = ltrim($var, '0');
Questo funziona solo sulle stringhe, numeri che iniziano con uno 0 verrà interpretato come numeri ottali, più zeri vengono ignorate.
$var = strval(intval($var));
o se non si cura su di esso rimanendo una stringa, solo convertire in int e lasciare le cose come stanno.
Basta usare + variabili all'interno:
echo +$var;
Multiple dal 1
$var = "0000000000010";
print $var*1;
//prints 10
Carefull del tipo colata;
var_dump([
'0014010011071152',
'0014010011071152'*1,
(int)'0014010011071152',
intval('0014010011071152')
]);
Stampe:
array(4) {
[0]=> string(16) "0014010011071152"
[1]=> float(14010011071152)
[2]=> int(2147483647)
[3]=> int(2147483647)
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow