Domanda

Vuoi rimuovere tutti 0 posto all'inizio di una variabile.

Alcune opzioni:

  1. se $var = 0002, dobbiamo spogliare prima 000 ($var = 2)
  2. se var = 0203410 dovremmo prima rimuovere 0 ($var = 203410)
  3. se var = 20000 - non fare nulla ($var = 20000)

Qual è la soluzione?

È stato utile?

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
scroll top