Как я могу взорвать целое число - PullRequest
14 голосов
/ 02 февраля 2011

ответ на этот вопрос может быть простым.Но я очень новичок в программировании.Так что будьте осторожны ...

Я на работе, пытаюсь сделать быстрое решение для одного из ваших клиентов.Я хочу получить общее количество цифр в целом числе, а затем взорвать целое число:

rx_freq = 1331000000 ( = 10 )
  $array[0] = 1
  $array[1] = 3
  .
  .
  $array[9] = 0

rx_freq = 990909099 ( = 9 )
  $array[0] = 9
  $array[1] = 9
  .
  .
  $array[8] = 9

Я не могу использовать разнесение, так как для этой функции требуется разделитель.Я искал в старых Google и Stackoverflow.

В основном: как взорвать целое число без разделителя и как найти количество цифр в целом числе.

Ответы [ 3 ]

37 голосов
/ 02 февраля 2011

$array = str_split($int) и $num_digits = strlen($int) должны работать просто отлично.

9 голосов
/ 02 февраля 2011

Используйте функцию str_split () :

$array = str_split(1331000000);

Благодаря автоматическому приведению типов в PHP переданный int будет автоматически преобразован в строку.Но если вы хотите, вы также можете добавить явное приведение.

1 голос
/ 16 октября 2014

Я знаю, что это старо, но только сталкивался с этим. Возможно, это может помочь кому-то еще.

Сначала преобразуйте число в строку. Это очень легко сделать. $number = 45675; // номер, который вы хотите разделить

$nums = ""; //Declare a variable with empty set.

$nums .= $number; //concatenate the empty string with the integer $number You can also use

$nums = $nums.$number; // this and the expression above do the same thing choose whichever you
                     //like.. This concatenation automatically converts integer to string
$nums[0] is now 4, $nums[1] is now 5, etc..
$length = strlen($nums); // This is the length of your integer.
$target = strlen($nums) -1; // target the last digit in the string;    
$last_digit = $nums[$target]; // This is the value of 5. Last digit in the (now string)

Надеюсь, это кому-нибудь поможет!

...