Question

Vous voulez supprimer tous 0 placé au début d'une partie variable.

Certaines options:

  1. si $var = 0002, nous devons d'abord dépouiller 000 ($var = 2)
  2. si var = 0203410 nous retirer d'abord 0 ($var = 203410)
  3. si var = 20000 - ne rien faire ($var = 20000)

Quelle est la solution?

Était-ce utile?

La solution

jeter aux entier

$var = (int)$var;

Autres conseils

Peut-être ltrim?

$var = ltrim($var, '0');
$var = ltrim($var, '0');

Cela ne fonctionne que sur les chaînes, les numéros commençant par 0 seront interprétées comme des nombres octaux, plusieurs zéros sont ignorés.

$var = strval(intval($var));

ou si vous ne se soucient pas de ce qui reste une chaîne, juste convertir en int et le laisser là.

Il suffit d'utiliser + variables à l'intérieur:

echo +$var;

Multiple par 1

$var = "0000000000010";
print $var*1;  

//prints 10

Carefull le type de coulée;

var_dump([
    '0014010011071152',
    '0014010011071152'*1,
    (int)'0014010011071152',
    intval('0014010011071152')
]);

Prints:

array(4) {
    [0]=> string(16) "0014010011071152"
    [1]=> float(14010011071152)
    [2]=> int(2147483647)
    [3]=> int(2147483647)
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top