Wenn ich eine Schnur habe
00020300504
00000234892839
000239074
wie kann ich die führenden Nullen loswerden, so dass ich nur dieses habe
20300504
234892839
239074
beachten Sie, dass die obige Zahl zufällig generiert wurde.
ltrim
:
$str = ltrim($str, '0');
Ich weiß nicht, warum die Menschen so komplexe Methoden einsetzen, um eine so einfache Sache zu erreichen! Und Regex? Beeindruckend!
Hier gehts, der einfachste und einfachste Weg (wie hier erklärt: https://nabtron.com/kiss-code/ ):
$a = '000000000000001';
$a += 0;
echo $a; // will output 1
(string)((int)"00000234892839")
Ähnlich wie bei einem anderen Vorschlag, außer dass der tatsächliche Nullpunkt nicht gelöscht wird:
if (ltrim($str, '0') != '') {
$str = ltrim($str, '0');
} else {
$str = '0';
}
sie können "+" in Ihre Variable einfügen,
beispiel:
$numString = "0000001123000";
echo +$numString;
Regex wurde bereits vorgeschlagen, aber nicht korrekt:
<?php
$number = '00000004523423400023402340240';
$withoutLeadingZeroes = preg_replace('/^0+/', $number)
echo $withoutLeadingZeroes;
?>
ausgabe ist dann:
4523423400023402340240
Hintergrund zu Regex: Der ^
signalisiert den Beginn des Strings und das +
-Zeichen signalisiert mehr oder kein Vorzeichen. Daher stimmt der Regex ^0+
mit allen Nullen am Anfang einer Zeichenfolge überein.
Ich glaube nicht, dass preg_replace die Antwort ist ... __ alter Thread, aber ich suche einfach heute nach diesem. ltrim und (int) casting ist der Gewinner.
<?php
$numString = "0000001123000";
$actualInt = "1123000";
$fixed_str1 = preg_replace('/000+/','',$numString);
$fixed_str2 = ltrim($numString, '0');
$fixed_str3 = (int)$numString;
echo $numString . " Original";
echo "<br>";
echo $fixed_str1 . " Fix1";
echo "<br>";
echo $fixed_str2 . " Fix2";
echo "<br>";
echo $fixed_str3 . " Fix3";
echo "<br>";
echo $actualInt . " Actual integer in string";
//output
0000001123000 Origina
1123 Fix1
1123000 Fix2
1123000 Fix3
1123000 Actual integer in tring
Ich bin auf diese Weise behoben.
es ist sehr einfach. Übergeben Sie nur einen String und entfernen Sie ihn von Null.
function removeZeroString($str='')
{
while(trim(substr($str,0,1)) === '0')
{
$str = ltrim($str,'0');
}
return $str;
}