2017-02-09 4 views
0

Ich habe eine Int in PHP, wie 5454676.
Nachdem ich es in eine Zeichenfolge konvertieren, möchte ich das in Tausende teilen, beginnend am Ende.
würde also 5454676Teilen Sie eine numerische Zeichenfolge in Tausende in PHP

[ 
0 => 5, 
1 => 454, 
2 => 676 
] 

Ich versuche str_split habe sich aber von der linken Seite teilt. So 5000 wird

$number = (string) 5000; 
$split = str_split($number, 3); 
// split is like [ 0 => 5, 1 => 000 ] 

Antwort

3

Hier ist eine Lösung ohne regexp:

$split = explode(";", number_format($number, 0, "", ";")); 
2

Verwenden number_format() die Anzahl in Gruppen von 3 Ziffern zu formatieren, dann explode() verwenden, um die zurückgegebenen String unter Verwendung des Separators durch number_format() verwendet aufzuspalten, die Gruppen zu trennen:

$number = 5454676; 
print_r(explode(',', number_format($number, 0))); 

Der Ausgang ist :

Array 
(
    [0] => 5 
    [1] => 454 
    [2] => 676 
) 
+0

So hätte ich es auch gemacht! Wenn es nicht das ist, was du willst, könntest du immer eine chaotische Funktion wie: 'array_reverse (str_split (strrev ($ number), 3))' machen, die das gleiche tut, aber ** viel ** mühsamer ist. – Darren

Verwandte Themen